• Home
Name Date Size #Lines LOC

..--

autom4te.cache/22-Oct-2025-60,34252,832

doc/22-Oct-2025-3,4753,351

examples/22-Oct-2025-1,7971,351

m4/22-Oct-2025-9,2078,320

src/22-Oct-2025-24,19116,778

COPYINGD22-Oct-20251.6 KiB3126

ChangeLogD22-Oct-202512.1 KiB570315

INSTALLD22-Oct-20259 KiB230175

Makefile.amD22-Oct-2025228 149

Makefile.inD22-Oct-202528.1 KiB899796

OAT.xmlD22-Oct-20253.2 KiB5031

README.OpenSourceD22-Oct-2025476 1111

README.mdD22-Oct-20258.8 KiB222171

README_zh.mdD22-Oct-20252.3 KiB4233

THANKSD22-Oct-202553 21

acinclude.m4D22-Oct-20252.8 KiB8574

aclocal.m4D22-Oct-202547.7 KiB1,3141,200

compileD22-Oct-20257.4 KiB352262

config.guessD22-Oct-202549.5 KiB1,8131,586

config.h.inD22-Oct-20259.6 KiB353266

config.subD22-Oct-202536 KiB1,9741,767

configureD22-Oct-2025552.5 KiB19,49916,525

configure.acD22-Oct-20254.3 KiB161132

depcompD22-Oct-202523.1 KiB793503

install-shD22-Oct-202515.1 KiB542352

libedit.pc.inD22-Oct-2025331 1411

libedit.specD22-Oct-2025205 96

ltmain.shD22-Oct-2025329.6 KiB11,5258,254

missingD22-Oct-20257.5 KiB237162

README.OpenSource

1[
2  {
3    "Name": "Editline Library - libedit",
4    "License": "BSD-3-Clause",
5    "License File": "COPYING",
6    "Version Number": "3.1-20250104",
7    "Owner": "liyiming13@huawei.com",
8    "Upstream URL": "https://www.thrysoee.dk/editline/libedit-20250104-3.1.tar.gz",
9    "Description": "Libedit is the automatic tool and libtoolized port of the NetBSD Editline library.It provides generic line editing, history, and markup functions similar to those in GNU Readline."
10  }
11]

README.md

1Basic Installation
2==================
3
4   These are generic installation instructions.
5
6   The `configure' shell script attempts to guess correct values for
7various system-dependent variables used during compilation.  It uses
8those values to create a `Makefile' in each directory of the package.
9It may also create one or more `.h' files containing system-dependent
10definitions.  Finally, it creates a shell script `config.status' that
11you can run in the future to recreate the current configuration, and a
12file `config.log' containing compiler output (useful mainly for
13debugging `configure').
14
15   It can also use an optional file (typically called `config.cache'
16and enabled with `--cache-file=config.cache' or simply `-C') that saves
17the results of its tests to speed up reconfiguring.  (Caching is
18disabled by default to prevent problems with accidental use of stale
19cache files.)
20
21   If you need to do unusual things to compile the package, please try
22to figure out how `configure' could check whether to do them, and mail
23diffs or instructions to the address given in the `README' so they can
24be considered for the next release.  If you are using the cache, and at
25some point `config.cache' contains results you don't want to keep, you
26may remove or edit it.
27
28   The file `configure.ac' (or `configure.in') is used to create
29`configure' by a program called `autoconf'.  You only need
30`configure.ac' if you want to change it or regenerate `configure' using
31a newer version of `autoconf'.
32
33The simplest way to compile this package is:
34
35  1. `cd' to the directory containing the package's source code and type
36     `./configure' to configure the package for your system.  If you're
37     using `csh' on an old version of System V, you might need to type
38     `sh ./configure' instead to prevent `csh' from trying to execute
39     `configure' itself.
40
41     Running `configure' takes awhile.  While running, it prints some
42     messages telling which features it is checking for.
43
44  2. Type `make' to compile the package.
45
46  3. Optionally, type `make check' to run any self-tests that come with
47     the package.
48
49  4. Type `make install' to install the programs and any data files and
50     documentation.
51
52  5. You can remove the program binaries and object files from the
53     source code directory by typing `make clean'.  To also remove the
54     files that `configure' created (so you can compile the package for
55     a different kind of computer), type `make distclean'.  There is
56     also a `make maintainer-clean' target, but that is intended mainly
57     for the package's developers.  If you use it, you may have to get
58     all sorts of other programs in order to regenerate files that came
59     with the distribution.
60
61Compilers and Options
62=====================
63
64   Some systems require unusual options for compilation or linking that
65the `configure' script does not know about.  Run `./configure --help'
66for details on some of the pertinent environment variables.
67
68   You can give `configure' initial values for configuration parameters
69by setting variables in the command line or in the environment.  Here
70is an example:
71
72     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
73
74   *Note Defining Variables::, for more details.
75
76Compiling For Multiple Architectures
77====================================
78
79   You can compile the package for more than one kind of computer at the
80same time, by placing the object files for each architecture in their
81own directory.  To do this, you must use a version of `make' that
82supports the `VPATH' variable, such as GNU `make'.  `cd' to the
83directory where you want the object files and executables to go and run
84the `configure' script.  `configure' automatically checks for the
85source code in the directory that `configure' is in and in `..'.
86
87   If you have to use a `make' that does not support the `VPATH'
88variable, you have to compile the package for one architecture at a
89time in the source code directory.  After you have installed the
90package for one architecture, use `make distclean' before reconfiguring
91for another architecture.
92
93Installation Names
94==================
95
96   By default, `make install' will install the package's files in
97`/usr/local/bin', `/usr/local/man', etc.  You can specify an
98installation prefix other than `/usr/local' by giving `configure' the
99option `--prefix=PATH'.
100
101   You can specify separate installation prefixes for
102architecture-specific files and architecture-independent files.  If you
103give `configure' the option `--exec-prefix=PATH', the package will use
104PATH as the prefix for installing programs and libraries.
105Documentation and other data files will still use the regular prefix.
106
107   In addition, if you use an unusual directory layout you can give
108options like `--bindir=PATH' to specify different values for particular
109kinds of files.  Run `configure --help' for a list of the directories
110you can set and what kinds of files go in them.
111
112   If the package supports it, you can cause programs to be installed
113with an extra prefix or suffix on their names by giving `configure' the
114option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
115
116Optional Features
117=================
118
119   Some packages pay attention to `--enable-FEATURE' options to
120`configure', where FEATURE indicates an optional part of the package.
121They may also pay attention to `--with-PACKAGE' options, where PACKAGE
122is something like `gnu-as' or `x' (for the X Window System).  The
123`README' should mention any `--enable-' and `--with-' options that the
124package recognizes.
125
126   For packages that use the X Window System, `configure' can usually
127find the X include and library files automatically, but if it doesn't,
128you can use the `configure' options `--x-includes=DIR' and
129`--x-libraries=DIR' to specify their locations.
130
131Specifying the System Type
132==========================
133
134   There may be some features `configure' cannot figure out
135automatically, but needs to determine by the type of machine the package
136will run on.  Usually, assuming the package is built to be run on the
137_same_ architectures, `configure' can figure that out, but if it prints
138a message saying it cannot guess the machine type, give it the
139`--build=TYPE' option.  TYPE can either be a short name for the system
140type, such as `sun4', or a canonical name which has the form:
141
142     CPU-COMPANY-SYSTEM
143
144where SYSTEM can have one of these forms:
145
146     OS KERNEL-OS
147
148   See the file `config.sub' for the possible values of each field.  If
149`config.sub' isn't included in this package, then this package doesn't
150need to know the machine type.
151
152   If you are _building_ compiler tools for cross-compiling, you should
153use the `--target=TYPE' option to select the type of system they will
154produce code for.
155
156   If you want to _use_ a cross compiler, that generates code for a
157platform different from the build platform, you should specify the
158"host" platform (i.e., that on which the generated programs will
159eventually be run) with `--host=TYPE'.
160
161Sharing Defaults
162================
163
164   If you want to set default values for `configure' scripts to share,
165you can create a site shell script called `config.site' that gives
166default values for variables like `CC', `cache_file', and `prefix'.
167`configure' looks for `PREFIX/share/config.site' if it exists, then
168`PREFIX/etc/config.site' if it exists.  Or, you can set the
169`CONFIG_SITE' environment variable to the location of the site script.
170A warning: not all `configure' scripts look for a site script.
171
172Defining Variables
173==================
174
175   Variables not defined in a site shell script can be set in the
176environment passed to `configure'.  However, some packages may run
177configure again during the build, and the customized values of these
178variables may be lost.  In order to avoid this problem, you should set
179them in the `configure' command line, using `VAR=value'.  For example:
180
181     ./configure CC=/usr/local2/bin/gcc
182
183will cause the specified gcc to be used as the C compiler (unless it is
184overridden in the site shell script).
185
186`configure' Invocation
187======================
188
189   `configure' recognizes the following options to control how it
190operates.
191
192`--help'
193`-h'
194     Print a summary of the options to `configure', and exit.
195
196`--version'
197`-V'
198     Print the version of Autoconf used to generate the `configure'
199     script, and exit.
200
201`--cache-file=FILE'
202     Enable the cache: use and save the results of the tests in FILE,
203     traditionally `config.cache'.  FILE defaults to `/dev/null' to
204     disable caching.
205
206`--config-cache'
207`-C'
208     Alias for `--cache-file=config.cache'.
209
210`--quiet'
211`--silent'
212`-q'
213     Do not print messages saying which checks are being made.  To
214     suppress all normal output, redirect it to `/dev/null' (any error
215     messages will still be shown).
216
217`--srcdir=DIR'
218     Look for the package's source code in directory DIR.  Usually
219     `configure' can determine that directory automatically.
220
221`configure' also accepts some other, not widely useful, options.  Run
222`configure --help' for more details.

README_zh.md

1# libedit<a name="ZH-CN_TOPIC_0000001106844024"></a>
2
3- [简介](#section11660541593)
4- [目录结构](#section367519246426)
5- [编译构建](#section137768191623)
6- [许可证](#section126611612164217)
7
8## 简介<a name="section11660541593"></a>
9
10libedit是一个提供通用行编辑、历史和分词功能的命令行编辑库,类似于Readline。它是NetBSD Editline库的一个自动化工具和libtool化的移植版本,它的主要接口和功能包括
11- readine(): 从标准输入读取一行,并返回一个指向动态分配缓冲区的指针,该缓冲区包含输入行。
12- parse_and_bind(): 执行给定字符串中初始化命令,可以用来设置键绑定和其他选项。
13- read_init_file(): 执行一个readline初始化文件,可以用来自定义readline的行为。
14- get_line_buffer(): 返回当前行缓冲区的内容。
15- insert_text(): 在光标位置插入文本到行缓冲区。
16- redisplay(): 更新屏幕上显示的内容,以反映行缓冲区的当前内容。
17
18在Openharonmy引入后,在lldb构建中开启编译可选依赖选项LLDB_ENABLE_LIBEDIT,lldb.so会依赖libedit编译生成的动态库libedit.so,支持lldb调试器在命令行调试时使用libedit库支持自动补齐和gui功能。
19## 目录结构<a name="section367519246426"></a>
20```
21- COPYING                       版权文件
22- OAT.xml                       OAT.xml过滤配置文件
23- README.OpenSource             项目README.OpenSource文件
24- README.md                     英文说明
25- README_zh.md                  中文说明
26- src                           libedit源代码
27```
28## 编译与安装<a name="section137768191623"></a>
29
30```
31- ./configure:用于配置软件的脚本,会根据系统环境检测和设置一些变量,生成对应的Makefile和一些头文件。其中运行configure脚本的时候指定一些参数来改变配置选项,如--prefix指定安装目录,--libdir指定库文件目录,--bindir指定可执行文件目录。
32- make: 用于安装libedit软件,根据Makefile中的规则执行一系列的操作,编译源代码,运行测试,检查外部依赖等。
33- make install: 将编译好的libedit.so文件安装到配置时指定的目录中。
34```
35## libedit使用文档
36官方文档  https://www.thrysoee.dk/editline/
37
38
39## 许可证<a name="section126611612164217"></a>
40
41本项目遵从BSD-3-Clause许可证。
42