bundled isocline
This commit is contained in:
parent
431840f77b
commit
87fd48b713
Makefile.in
bin
Makefile.amMakefile.in
isocline
CMakeLists.txtLICENSE
bld
CMakeCache.txtMakefilecmake_install.cmakeexamplehistory.txtlibisocline.atest_colors
CMakeFiles
3.28.2
CMakeASMCompiler.cmakeCMakeCCompiler.cmakeCMakeCXXCompiler.cmakeCMakeDetermineCompilerABI_C.binCMakeDetermineCompilerABI_CXX.binCMakeSystem.cmake
CMakeConfigureLog.yamlCMakeDirectoryInformation.cmakeMakefile.cmakeMakefile2TargetDirectories.txtcmake.check_cacheCompilerIdC
CompilerIdCXX
example.dir
DependInfo.cmakebuild.makecmake_clean.cmakecompiler_depend.internalcompiler_depend.makecompiler_depend.tsdepend.makeflags.makelink.txtprogress.make
test
isocline.dir
DependInfo.cmakebuild.makecmake_clean.cmakecmake_clean_target.cmakecompiler_depend.internalcompiler_depend.makecompiler_depend.tsdepend.makeflags.makelink.txtprogress.make
progress.markssrc
test_colors.dir
doc
color
completion-macos.pngdoxyfileisocline-doxygen.cssisocline-inkscape.svgisocline-inline.svgisocline.svgrecord-macos.svghaskell
ide/vs2019
include
isocline.cabalpackage.yamlreadme.mdsrc
@ -260,7 +260,6 @@ INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
ISOCLINE_LIBS = @ISOCLINE_LIBS@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBM = @LIBM@
|
||||
|
@ -14,7 +14,47 @@ LDFLAGS_COMMON = -L$(abs_builddir)/../lib -L$(libdir)
|
||||
LIBADD_COMMON =
|
||||
|
||||
##################################################
|
||||
# MAIN LIBRARY
|
||||
# BUNDLED LIBRARIES
|
||||
##################################################
|
||||
|
||||
noinst_LIBRARIES = libisocline.a
|
||||
noinst_HEADERS = \
|
||||
isocline/include/isocline.h \
|
||||
isocline/src/attr.h \
|
||||
isocline/src/bbcode.h \
|
||||
isocline/src/common.h \
|
||||
isocline/src/completions.h \
|
||||
isocline/src/env.h \
|
||||
isocline/src/highlight.h \
|
||||
isocline/src/history.h \
|
||||
isocline/src/stringbuf.h \
|
||||
isocline/src/term.h \
|
||||
isocline/src/tty.h \
|
||||
isocline/src/undo.h \
|
||||
isocline/src/editline_completion.c \
|
||||
isocline/src/editline_help.c \
|
||||
isocline/src/editline_history.c \
|
||||
isocline/src/term_color.c
|
||||
libisocline_a_SOURCES = \
|
||||
isocline/src/attr.c \
|
||||
isocline/src/bbcode.c \
|
||||
isocline/src/bbcode_colors.c \
|
||||
isocline/src/common.c \
|
||||
isocline/src/completers.c \
|
||||
isocline/src/completions.c \
|
||||
isocline/src/editline.c \
|
||||
isocline/src/highlight.c \
|
||||
isocline/src/history.c \
|
||||
isocline/src/isocline.c \
|
||||
isocline/src/stringbuf.c \
|
||||
isocline/src/term.c \
|
||||
isocline/src/tty.c \
|
||||
isocline/src/tty_esc.c \
|
||||
isocline/src/undo.c \
|
||||
isocline/src/wcwidth.c
|
||||
|
||||
##################################################
|
||||
# MAIN BINARIES
|
||||
##################################################
|
||||
|
||||
if ENABLE_LIBLTDL
|
||||
@ -25,9 +65,9 @@ endif
|
||||
|
||||
bin_PROGRAMS = hcl
|
||||
hcl_SOURCES = hcl.c
|
||||
hcl_CPPFLAGS = $(CPPFLAGS_COMMON)
|
||||
hcl_CPPFLAGS = $(CPPFLAGS_COMMON) -I$(srcdir)/isocline/include -DHAVE_ISOCLINE_H -DHAVE_ISOCLINE_LIB
|
||||
hcl_LDFLAGS = $(LDFLAGS_COMMON)
|
||||
hcl_LDADD = ../lib/libhcl.la $(LIBADD_COMMON) $(ISOCLINE_LIBS)
|
||||
hcl_LDADD = ../lib/libhcl.la $(LIBADD_COMMON) ./libisocline.a
|
||||
|
||||
if ENABLE_HCLX
|
||||
|
||||
|
221
bin/Makefile.in
221
bin/Makefile.in
@ -14,6 +14,8 @@
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
@ -90,7 +92,7 @@ build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
|
||||
##################################################
|
||||
# MAIN LIBRARY
|
||||
# MAIN BINARIES
|
||||
##################################################
|
||||
@ENABLE_LIBLTDL_TRUE@am__append_1 = $(LTDL_LIBS)
|
||||
@ENABLE_LIBLTDL_FALSE@am__append_2 = $(DL_LIBS)
|
||||
@ -105,7 +107,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_sign.m4 \
|
||||
$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
|
||||
$(am__DIST_COMMON)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/lib/hcl-cfg.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
@ -113,6 +116,28 @@ CONFIG_CLEAN_VPATH_FILES =
|
||||
@ENABLE_HCLX_TRUE@am__EXEEXT_1 = hclx$(EXEEXT)
|
||||
am__installdirs = "$(DESTDIR)$(bindir)"
|
||||
PROGRAMS = $(bin_PROGRAMS)
|
||||
LIBRARIES = $(noinst_LIBRARIES)
|
||||
ARFLAGS = cru
|
||||
AM_V_AR = $(am__v_AR_@AM_V@)
|
||||
am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@)
|
||||
am__v_AR_0 = @echo " AR " $@;
|
||||
am__v_AR_1 =
|
||||
libisocline_a_AR = $(AR) $(ARFLAGS)
|
||||
libisocline_a_LIBADD =
|
||||
am__dirstamp = $(am__leading_dot)dirstamp
|
||||
am_libisocline_a_OBJECTS = isocline/src/attr.$(OBJEXT) \
|
||||
isocline/src/bbcode.$(OBJEXT) \
|
||||
isocline/src/bbcode_colors.$(OBJEXT) \
|
||||
isocline/src/common.$(OBJEXT) \
|
||||
isocline/src/completers.$(OBJEXT) \
|
||||
isocline/src/completions.$(OBJEXT) \
|
||||
isocline/src/editline.$(OBJEXT) \
|
||||
isocline/src/highlight.$(OBJEXT) \
|
||||
isocline/src/history.$(OBJEXT) isocline/src/isocline.$(OBJEXT) \
|
||||
isocline/src/stringbuf.$(OBJEXT) isocline/src/term.$(OBJEXT) \
|
||||
isocline/src/tty.$(OBJEXT) isocline/src/tty_esc.$(OBJEXT) \
|
||||
isocline/src/undo.$(OBJEXT) isocline/src/wcwidth.$(OBJEXT)
|
||||
libisocline_a_OBJECTS = $(am_libisocline_a_OBJECTS)
|
||||
am_hcl_OBJECTS = hcl-hcl.$(OBJEXT)
|
||||
hcl_OBJECTS = $(am_hcl_OBJECTS)
|
||||
am__DEPENDENCIES_1 =
|
||||
@ -120,7 +145,7 @@ am__DEPENDENCIES_1 =
|
||||
@ENABLE_LIBLTDL_FALSE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1)
|
||||
am__DEPENDENCIES_4 = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_3)
|
||||
hcl_DEPENDENCIES = ../lib/libhcl.la $(am__DEPENDENCIES_4) \
|
||||
$(am__DEPENDENCIES_1)
|
||||
./libisocline.a
|
||||
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
||||
am__v_lt_0 = --silent
|
||||
@ -151,7 +176,22 @@ am__v_at_1 =
|
||||
DEFAULT_INCLUDES =
|
||||
depcomp = $(SHELL) $(top_srcdir)/ac/depcomp
|
||||
am__maybe_remake_depfiles = depfiles
|
||||
am__depfiles_remade = ./$(DEPDIR)/hcl-hcl.Po ./$(DEPDIR)/hclx-hclx.Po
|
||||
am__depfiles_remade = ./$(DEPDIR)/hcl-hcl.Po ./$(DEPDIR)/hclx-hclx.Po \
|
||||
isocline/src/$(DEPDIR)/attr.Po \
|
||||
isocline/src/$(DEPDIR)/bbcode.Po \
|
||||
isocline/src/$(DEPDIR)/bbcode_colors.Po \
|
||||
isocline/src/$(DEPDIR)/common.Po \
|
||||
isocline/src/$(DEPDIR)/completers.Po \
|
||||
isocline/src/$(DEPDIR)/completions.Po \
|
||||
isocline/src/$(DEPDIR)/editline.Po \
|
||||
isocline/src/$(DEPDIR)/highlight.Po \
|
||||
isocline/src/$(DEPDIR)/history.Po \
|
||||
isocline/src/$(DEPDIR)/isocline.Po \
|
||||
isocline/src/$(DEPDIR)/stringbuf.Po \
|
||||
isocline/src/$(DEPDIR)/term.Po isocline/src/$(DEPDIR)/tty.Po \
|
||||
isocline/src/$(DEPDIR)/tty_esc.Po \
|
||||
isocline/src/$(DEPDIR)/undo.Po \
|
||||
isocline/src/$(DEPDIR)/wcwidth.Po
|
||||
am__mv = mv -f
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
@ -171,13 +211,15 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(hcl_SOURCES) $(hclx_SOURCES)
|
||||
DIST_SOURCES = $(hcl_SOURCES) $(am__hclx_SOURCES_DIST)
|
||||
SOURCES = $(libisocline_a_SOURCES) $(hcl_SOURCES) $(hclx_SOURCES)
|
||||
DIST_SOURCES = $(libisocline_a_SOURCES) $(hcl_SOURCES) \
|
||||
$(am__hclx_SOURCES_DIST)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
HEADERS = $(noinst_HEADERS)
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
@ -237,7 +279,6 @@ INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
ISOCLINE_LIBS = @ISOCLINE_LIBS@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBM = @LIBM@
|
||||
@ -350,10 +391,51 @@ CPPFLAGS_COMMON = \
|
||||
CFLAGS_COMMON =
|
||||
LDFLAGS_COMMON = -L$(abs_builddir)/../lib -L$(libdir)
|
||||
LIBADD_COMMON = $(am__append_1) $(am__append_2)
|
||||
|
||||
##################################################
|
||||
# BUNDLED LIBRARIES
|
||||
##################################################
|
||||
noinst_LIBRARIES = libisocline.a
|
||||
noinst_HEADERS = \
|
||||
isocline/include/isocline.h \
|
||||
isocline/src/attr.h \
|
||||
isocline/src/bbcode.h \
|
||||
isocline/src/common.h \
|
||||
isocline/src/completions.h \
|
||||
isocline/src/env.h \
|
||||
isocline/src/highlight.h \
|
||||
isocline/src/history.h \
|
||||
isocline/src/stringbuf.h \
|
||||
isocline/src/term.h \
|
||||
isocline/src/tty.h \
|
||||
isocline/src/undo.h \
|
||||
isocline/src/editline_completion.c \
|
||||
isocline/src/editline_help.c \
|
||||
isocline/src/editline_history.c \
|
||||
isocline/src/term_color.c
|
||||
|
||||
libisocline_a_SOURCES = \
|
||||
isocline/src/attr.c \
|
||||
isocline/src/bbcode.c \
|
||||
isocline/src/bbcode_colors.c \
|
||||
isocline/src/common.c \
|
||||
isocline/src/completers.c \
|
||||
isocline/src/completions.c \
|
||||
isocline/src/editline.c \
|
||||
isocline/src/highlight.c \
|
||||
isocline/src/history.c \
|
||||
isocline/src/isocline.c \
|
||||
isocline/src/stringbuf.c \
|
||||
isocline/src/term.c \
|
||||
isocline/src/tty.c \
|
||||
isocline/src/tty_esc.c \
|
||||
isocline/src/undo.c \
|
||||
isocline/src/wcwidth.c
|
||||
|
||||
hcl_SOURCES = hcl.c
|
||||
hcl_CPPFLAGS = $(CPPFLAGS_COMMON)
|
||||
hcl_CPPFLAGS = $(CPPFLAGS_COMMON) -I$(srcdir)/isocline/include -DHAVE_ISOCLINE_H -DHAVE_ISOCLINE_LIB
|
||||
hcl_LDFLAGS = $(LDFLAGS_COMMON)
|
||||
hcl_LDADD = ../lib/libhcl.la $(LIBADD_COMMON) $(ISOCLINE_LIBS)
|
||||
hcl_LDADD = ../lib/libhcl.la $(LIBADD_COMMON) ./libisocline.a
|
||||
@ENABLE_HCLX_TRUE@hclx_SOURCES = hclx.c
|
||||
@ENABLE_HCLX_TRUE@hclx_CPPFLAGS = $(CPPFLAGS_COMMON)
|
||||
@ENABLE_HCLX_TRUE@hclx_LDFLAGS = $(LDFLAGS_COMMON)
|
||||
@ -441,6 +523,52 @@ clean-binPROGRAMS:
|
||||
echo " rm -f" $$list; \
|
||||
rm -f $$list
|
||||
|
||||
clean-noinstLIBRARIES:
|
||||
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
|
||||
isocline/src/$(am__dirstamp):
|
||||
@$(MKDIR_P) isocline/src
|
||||
@: > isocline/src/$(am__dirstamp)
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp):
|
||||
@$(MKDIR_P) isocline/src/$(DEPDIR)
|
||||
@: > isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/attr.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/bbcode.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/bbcode_colors.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/common.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/completers.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/completions.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/editline.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/highlight.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/history.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/isocline.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/stringbuf.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/term.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/tty.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/tty_esc.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/undo.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
isocline/src/wcwidth.$(OBJEXT): isocline/src/$(am__dirstamp) \
|
||||
isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
|
||||
libisocline.a: $(libisocline_a_OBJECTS) $(libisocline_a_DEPENDENCIES) $(EXTRA_libisocline_a_DEPENDENCIES)
|
||||
$(AM_V_at)-rm -f libisocline.a
|
||||
$(AM_V_AR)$(libisocline_a_AR) libisocline.a $(libisocline_a_OBJECTS) $(libisocline_a_LIBADD)
|
||||
$(AM_V_at)$(RANLIB) libisocline.a
|
||||
|
||||
hcl$(EXEEXT): $(hcl_OBJECTS) $(hcl_DEPENDENCIES) $(EXTRA_hcl_DEPENDENCIES)
|
||||
@rm -f hcl$(EXEEXT)
|
||||
$(AM_V_CCLD)$(hcl_LINK) $(hcl_OBJECTS) $(hcl_LDADD) $(LIBS)
|
||||
@ -451,12 +579,29 @@ hclx$(EXEEXT): $(hclx_OBJECTS) $(hclx_DEPENDENCIES) $(EXTRA_hclx_DEPENDENCIES)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
-rm -f isocline/src/*.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hcl-hcl.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hclx-hclx.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/attr.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/bbcode.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/bbcode_colors.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/common.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/completers.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/completions.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/editline.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/highlight.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/history.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/isocline.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/stringbuf.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/term.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/tty.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/tty_esc.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/undo.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@isocline/src/$(DEPDIR)/wcwidth.Po@am__quote@ # am--include-marker
|
||||
|
||||
$(am__depfiles_remade):
|
||||
@$(MKDIR_P) $(@D)
|
||||
@ -608,7 +753,7 @@ distdir-am: $(DISTFILES)
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(PROGRAMS)
|
||||
all-am: Makefile $(PROGRAMS) $(LIBRARIES) $(HEADERS)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(bindir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
@ -639,17 +784,36 @@ clean-generic:
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
-rm -f isocline/src/$(DEPDIR)/$(am__dirstamp)
|
||||
-rm -f isocline/src/$(am__dirstamp)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
|
||||
clean-am: clean-binPROGRAMS clean-generic clean-libtool \
|
||||
clean-noinstLIBRARIES mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f ./$(DEPDIR)/hcl-hcl.Po
|
||||
-rm -f ./$(DEPDIR)/hclx-hclx.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/attr.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/bbcode.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/bbcode_colors.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/common.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/completers.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/completions.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/editline.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/highlight.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/history.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/isocline.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/stringbuf.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/term.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/tty.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/tty_esc.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/undo.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/wcwidth.Po
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
@ -697,6 +861,22 @@ installcheck-am:
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f ./$(DEPDIR)/hcl-hcl.Po
|
||||
-rm -f ./$(DEPDIR)/hclx-hclx.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/attr.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/bbcode.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/bbcode_colors.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/common.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/completers.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/completions.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/editline.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/highlight.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/history.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/isocline.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/stringbuf.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/term.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/tty.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/tty_esc.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/undo.Po
|
||||
-rm -f isocline/src/$(DEPDIR)/wcwidth.Po
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
@ -718,15 +898,16 @@ uninstall-am: uninstall-binPROGRAMS
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
|
||||
clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \
|
||||
ctags ctags-am distclean distclean-compile distclean-generic \
|
||||
distclean-libtool distclean-tags distdir dvi dvi-am html \
|
||||
html-am info info-am install install-am install-binPROGRAMS \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-html install-html-am \
|
||||
install-info install-info-am install-man install-pdf \
|
||||
install-pdf-am install-ps install-ps-am install-strip \
|
||||
installcheck installcheck-am installdirs maintainer-clean \
|
||||
clean-binPROGRAMS clean-generic clean-libtool \
|
||||
clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \
|
||||
distclean-compile distclean-generic distclean-libtool \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-binPROGRAMS install-data \
|
||||
install-data-am install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-man install-pdf install-pdf-am \
|
||||
install-ps install-ps-am install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am uninstall-binPROGRAMS
|
||||
|
162
bin/isocline/CMakeLists.txt
Normal file
162
bin/isocline/CMakeLists.txt
Normal file
@ -0,0 +1,162 @@
|
||||
# -----------------------------------------------------------------------------
|
||||
# Copyright (c) 2021, Daan Leijen
|
||||
# -----------------------------------------------------------------------------
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
project(libisocline C CXX ASM)
|
||||
|
||||
set(CMAKE_C_STANDARD 99)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
|
||||
option(IC_USE_CXX "Build with C++ compiler" OFF)
|
||||
option(IC_DEBUG_UBSAN "Build with undefined behaviour sanitizer" OFF)
|
||||
option(IC_DEBUG_ASAN "Build with address sanitizer" OFF)
|
||||
option(IC_DEBUG_MSG "Enable printing debug messages stderr (only if also ISOCLINE_DEBUG=1 is set in the environment)" ON)
|
||||
option(IC_SEPARATE_OBJS "Compile with separate object files instead of one (warning: exports internal symbols)" OFF)
|
||||
|
||||
set(ic_version "0.1")
|
||||
set(ic_sources src/isocline.c)
|
||||
set(ic_example_sources test/example.c test/test_colors.c)
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Initial definitions
|
||||
# -----------------------------------------------------------------------------
|
||||
set(ic_cflags)
|
||||
set(ic_cdefs)
|
||||
set(ic_install_dir)
|
||||
|
||||
if(IC_SEPARATE_OBJS)
|
||||
list(APPEND ic_cdefs IC_SEPARATE_OBJS)
|
||||
list(APPEND ic_sources
|
||||
src/attr.c
|
||||
src/bbcode.c
|
||||
src/common.c
|
||||
src/completions.c
|
||||
src/completers.c
|
||||
src/editline.c
|
||||
src/highlight.c
|
||||
src/history.c
|
||||
src/stringbuf.c
|
||||
src/term.c
|
||||
src/tty_esc.c
|
||||
src/tty.c
|
||||
src/undo.c)
|
||||
endif()
|
||||
|
||||
if(IC_USE_CXX)
|
||||
set(IC_COMPILER_ID "${CMAKE_CXX_COMPILER_ID}")
|
||||
set_source_files_properties(${ic_sources} PROPERTIES LANGUAGE CXX )
|
||||
set_source_files_properties(${ic_example_sources} PROPERTIES LANGUAGE CXX )
|
||||
else()
|
||||
set(IC_COMPILER_ID "${CMAKE_C_COMPILER_ID}")
|
||||
endif()
|
||||
|
||||
if(NOT IC_DEBUG_MSG)
|
||||
message(STATUS "Disable debug messages")
|
||||
list(APPEND ic_cdefs IC_NO_DEBUG_MSG)
|
||||
endif()
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Convenience: set default build type depending on the build directory
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
if (NOT CMAKE_BUILD_TYPE)
|
||||
if ("${CMAKE_BINARY_DIR}" MATCHES ".*(Debug|debug|dbg|ubsan|tsan|asan)$")
|
||||
message(STATUS "No build type selected, default to: Debug")
|
||||
set(CMAKE_BUILD_TYPE "Debug")
|
||||
else()
|
||||
message(STATUS "No build type selected, default to: Release")
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Sanitizers
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
if(IC_DEBUG_UBSAN OR IC_DEBUG_ASAN)
|
||||
if((CMAKE_BUILD_TYPE MATCHES "Debug") AND (IC_COMPILER_ID MATCHES "Clang"))
|
||||
set(ic_san)
|
||||
if (IC_DEBUG_UBSAN)
|
||||
list(APPEND ic_san "undefined")
|
||||
message(STATUS "Using the undefined behavior sanitizer.")
|
||||
endif()
|
||||
if (IC_DEBUG_ASAN)
|
||||
list(APPEND ic_san "address")
|
||||
message(STATUS "Using the address sanitizer. To detect memory leaks run as:")
|
||||
message(STATUS "> ASAN_OPTIONS=\"detect_leaks=1:verbosity=1\" ./example")
|
||||
endif()
|
||||
list(JOIN ic_san "," ic_san)
|
||||
list(APPEND ic_cflags -fsanitize=${ic_san})
|
||||
list(APPEND CMAKE_EXE_LINKER_FLAGS -fsanitize=${ic_san})
|
||||
else()
|
||||
message(WARNING "Can only use sanitizer with a clang debug build (currently: ${IC_COMPILER_ID}, CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}, IC_USE_C=${IC_USE_C})")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Flags
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
if (IC_COMPILER_ID MATCHES "AppleClang|Clang|GNU|Intel")
|
||||
list(APPEND ic_cflags -Wall -Wextra -Wpedantic -Wno-unknown-pragmas -Wno-unused-function -Wno-padded -Wno-missing-field-initializers)
|
||||
if (IC_COMPILER_ID MATCHES "AppleClang|Clang")
|
||||
list(APPEND ic_cflags -Wimplicit-int-conversion -Wsign-conversion)
|
||||
endif()
|
||||
if (IC_COMPILER_ID MATCHES "GNU")
|
||||
list(APPEND ic_cflags -Wsign-conversion -Wno-missing-braces)
|
||||
if (NOT IC_USE_CXX)
|
||||
list(APPEND ic_cflags -Wint-conversion)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# treat C extension as C++
|
||||
if (IC_USE_CXX)
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang|Clang")
|
||||
list(APPEND ic_cflags -Wno-deprecated)
|
||||
endif()
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "Intel")
|
||||
list(APPEND ic_cflags -Kc++)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Overview
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
message(STATUS "")
|
||||
message(STATUS "Library : libisocline")
|
||||
message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
|
||||
message(STATUS "Compiler : ${IC_COMPILER_ID}")
|
||||
message(STATUS "Defines : ${ic_cdefs}")
|
||||
# message(STATUS "Flags : ${ic_cflags}")
|
||||
message(STATUS "")
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Static library (libisocline.a) and samples (example)
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
add_library(isocline STATIC ${ic_sources})
|
||||
set_property(TARGET isocline PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
target_compile_options(isocline PRIVATE ${ic_cflags})
|
||||
target_compile_definitions(isocline PRIVATE ${ic_cdefs})
|
||||
target_include_directories(isocline PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
$<INSTALL_INTERFACE:${ic_install_dir}/include>
|
||||
)
|
||||
|
||||
add_executable(example test/example.c)
|
||||
target_compile_options(example PRIVATE ${ic_cflags})
|
||||
target_include_directories(example PRIVATE include)
|
||||
target_link_libraries(example PRIVATE isocline)
|
||||
|
||||
add_executable(test_colors test/test_colors.c)
|
||||
target_compile_options(test_colors PRIVATE ${ic_cflags})
|
||||
target_include_directories(test_colors PRIVATE include)
|
||||
target_link_libraries(test_colors PRIVATE isocline)
|
21
bin/isocline/LICENSE
Normal file
21
bin/isocline/LICENSE
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 Daan Leijen
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
444
bin/isocline/bld/CMakeCache.txt
Normal file
444
bin/isocline/bld/CMakeCache.txt
Normal file
@ -0,0 +1,444 @@
|
||||
# This is the CMakeCache file.
|
||||
# For build in directory: /home/hyung-hwan/projects/isocline/bld
|
||||
# It was generated by CMake: /usr/bin/cmake
|
||||
# You can edit this file to change values found and used by cmake.
|
||||
# If you do not want to change any of the values, simply exit the editor.
|
||||
# If you do want to change a value, simply edit, save, and exit the editor.
|
||||
# The syntax for the file is as follows:
|
||||
# KEY:TYPE=VALUE
|
||||
# KEY is the name of a variable in the cache.
|
||||
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
|
||||
# VALUE is the current value for the KEY.
|
||||
|
||||
########################
|
||||
# EXTERNAL cache entries
|
||||
########################
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_AR:FILEPATH=/usr/bin/ar
|
||||
|
||||
//ASM compiler
|
||||
CMAKE_ASM_COMPILER:FILEPATH=/usr/bin/cc
|
||||
|
||||
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_ASM_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar
|
||||
|
||||
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_ASM_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib
|
||||
|
||||
//Flags used by the ASM compiler during all build types.
|
||||
CMAKE_ASM_FLAGS:STRING=
|
||||
|
||||
//Flags used by the ASM compiler during DEBUG builds.
|
||||
CMAKE_ASM_FLAGS_DEBUG:STRING=-g
|
||||
|
||||
//Flags used by the ASM compiler during MINSIZEREL builds.
|
||||
CMAKE_ASM_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
|
||||
|
||||
//Flags used by the ASM compiler during RELEASE builds.
|
||||
CMAKE_ASM_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
||||
|
||||
//Flags used by the ASM compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_ASM_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||
|
||||
//Choose the type of build, options are: None Debug Release RelWithDebInfo
|
||||
// MinSizeRel ...
|
||||
CMAKE_BUILD_TYPE:STRING=
|
||||
|
||||
//Enable/Disable color output during build.
|
||||
CMAKE_COLOR_MAKEFILE:BOOL=ON
|
||||
|
||||
//CXX compiler
|
||||
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
|
||||
|
||||
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar
|
||||
|
||||
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib
|
||||
|
||||
//Flags used by the CXX compiler during all build types.
|
||||
CMAKE_CXX_FLAGS:STRING=
|
||||
|
||||
//Flags used by the CXX compiler during DEBUG builds.
|
||||
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
|
||||
|
||||
//Flags used by the CXX compiler during MINSIZEREL builds.
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELEASE builds.
|
||||
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||
|
||||
//C compiler
|
||||
CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
|
||||
|
||||
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar
|
||||
|
||||
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib
|
||||
|
||||
//Flags used by the C compiler during all build types.
|
||||
CMAKE_C_FLAGS:STRING=
|
||||
|
||||
//Flags used by the C compiler during DEBUG builds.
|
||||
CMAKE_C_FLAGS_DEBUG:STRING=-g
|
||||
|
||||
//Flags used by the C compiler during MINSIZEREL builds.
|
||||
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
|
||||
|
||||
//Flags used by the C compiler during RELEASE builds.
|
||||
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
||||
|
||||
//Flags used by the C compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
|
||||
|
||||
//Flags used by the linker during all build types.
|
||||
CMAKE_EXE_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during DEBUG builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during MINSIZEREL builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during RELEASE builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during RELWITHDEBINFO builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Enable/Disable output of compile commands during generation.
|
||||
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
|
||||
|
||||
//Value Computed by CMake.
|
||||
CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/hyung-hwan/projects/isocline/bld/CMakeFiles/pkgRedirects
|
||||
|
||||
//Install path prefix, prepended onto install directories.
|
||||
CMAKE_INSTALL_PREFIX:PATH=/home/hyung-hwan/xxx
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_LINKER:FILEPATH=/usr/bin/ld
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// all build types.
|
||||
CMAKE_MODULE_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// DEBUG builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// MINSIZEREL builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELEASE builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELWITHDEBINFO builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_NM:FILEPATH=/usr/bin/nm
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_DESCRIPTION:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_NAME:STATIC=libisocline
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_READELF:FILEPATH=/usr/bin/readelf
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during all build types.
|
||||
CMAKE_SHARED_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//If set, runtime paths are not added when installing shared libraries,
|
||||
// but are added when building.
|
||||
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
|
||||
|
||||
//If set, runtime paths are not added when using shared libraries.
|
||||
CMAKE_SKIP_RPATH:BOOL=NO
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during all build types.
|
||||
CMAKE_STATIC_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_STRIP:FILEPATH=/usr/bin/strip
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
|
||||
|
||||
//If this value is on, makefiles will be generated without the
|
||||
// .SILENT directive, and all commands will be echoed to the console
|
||||
// during the make. This is useful for debugging only. With Visual
|
||||
// Studio IDE projects all commands are done without /nologo.
|
||||
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
|
||||
|
||||
//Build with address sanitizer
|
||||
IC_DEBUG_ASAN:BOOL=OFF
|
||||
|
||||
//Enable printing debug messages stderr (only if also ISOCLINE_DEBUG=1
|
||||
// is set in the environment)
|
||||
IC_DEBUG_MSG:BOOL=ON
|
||||
|
||||
//Build with undefined behaviour sanitizer
|
||||
IC_DEBUG_UBSAN:BOOL=OFF
|
||||
|
||||
//Compile with separate object files instead of one (warning: exports
|
||||
// internal symbols)
|
||||
IC_SEPARATE_OBJS:BOOL=OFF
|
||||
|
||||
//Build with C++ compiler
|
||||
IC_USE_CXX:BOOL=OFF
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
INSTALL_PREFIX:UNINITIALIZED=/home/hyung-hwan/xxx
|
||||
|
||||
//Value Computed by CMake
|
||||
libisocline_BINARY_DIR:STATIC=/home/hyung-hwan/projects/isocline/bld
|
||||
|
||||
//Value Computed by CMake
|
||||
libisocline_IS_TOP_LEVEL:STATIC=ON
|
||||
|
||||
//Value Computed by CMake
|
||||
libisocline_SOURCE_DIR:STATIC=/home/hyung-hwan/projects/isocline
|
||||
|
||||
|
||||
########################
|
||||
# INTERNAL cache entries
|
||||
########################
|
||||
|
||||
//ADVANCED property for variable: CMAKE_ADDR2LINE
|
||||
CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_AR
|
||||
CMAKE_AR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_ASM_COMPILER
|
||||
CMAKE_ASM_COMPILER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_ASM_COMPILER_AR
|
||||
CMAKE_ASM_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_ASM_COMPILER_RANLIB
|
||||
CMAKE_ASM_COMPILER_RANLIB-ADVANCED:INTERNAL=1
|
||||
CMAKE_ASM_COMPILER_WORKS:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_ASM_FLAGS
|
||||
CMAKE_ASM_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_ASM_FLAGS_DEBUG
|
||||
CMAKE_ASM_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_ASM_FLAGS_MINSIZEREL
|
||||
CMAKE_ASM_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_ASM_FLAGS_RELEASE
|
||||
CMAKE_ASM_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_ASM_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_ASM_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//This is the directory where this CMakeCache.txt was created
|
||||
CMAKE_CACHEFILE_DIR:INTERNAL=/home/hyung-hwan/projects/isocline/bld
|
||||
//Major version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
|
||||
//Minor version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MINOR_VERSION:INTERNAL=28
|
||||
//Patch version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_PATCH_VERSION:INTERNAL=2
|
||||
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
|
||||
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
//Path to CMake executable.
|
||||
CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
|
||||
//Path to cpack program executable.
|
||||
CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
|
||||
//Path to ctest program executable.
|
||||
CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER
|
||||
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
|
||||
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
|
||||
CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER
|
||||
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER_AR
|
||||
CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
|
||||
CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS
|
||||
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
|
||||
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
|
||||
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
|
||||
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_DLLTOOL
|
||||
CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
|
||||
//Path to cache edit program executable.
|
||||
CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake
|
||||
//Executable file format
|
||||
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
|
||||
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
|
||||
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
|
||||
//Name of external makefile project generator.
|
||||
CMAKE_EXTRA_GENERATOR:INTERNAL=
|
||||
//Name of generator.
|
||||
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
|
||||
//Generator instance identifier.
|
||||
CMAKE_GENERATOR_INSTANCE:INTERNAL=
|
||||
//Name of generator platform.
|
||||
CMAKE_GENERATOR_PLATFORM:INTERNAL=
|
||||
//Name of generator toolset.
|
||||
CMAKE_GENERATOR_TOOLSET:INTERNAL=
|
||||
//Source directory with the top level CMakeLists.txt file for this
|
||||
// project
|
||||
CMAKE_HOME_DIRECTORY:INTERNAL=/home/hyung-hwan/projects/isocline
|
||||
//Install .so files without execute permission.
|
||||
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0
|
||||
//ADVANCED property for variable: CMAKE_LINKER
|
||||
CMAKE_LINKER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
|
||||
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
|
||||
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_NM
|
||||
CMAKE_NM-ADVANCED:INTERNAL=1
|
||||
//number of local generators
|
||||
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_OBJCOPY
|
||||
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_OBJDUMP
|
||||
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
|
||||
//Platform information initialized
|
||||
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RANLIB
|
||||
CMAKE_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_READELF
|
||||
CMAKE_READELF-ADVANCED:INTERNAL=1
|
||||
//Path to CMake installation.
|
||||
CMAKE_ROOT:INTERNAL=/usr/share/cmake
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
|
||||
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
|
||||
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_RPATH
|
||||
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
|
||||
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STRIP
|
||||
CMAKE_STRIP-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_TAPI
|
||||
CMAKE_TAPI-ADVANCED:INTERNAL=1
|
||||
//uname command
|
||||
CMAKE_UNAME:INTERNAL=/usr/bin/uname
|
||||
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
|
||||
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
//linker supports push/pop state
|
||||
_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE
|
||||
|
22
bin/isocline/bld/CMakeFiles/3.28.2/CMakeASMCompiler.cmake
Normal file
22
bin/isocline/bld/CMakeFiles/3.28.2/CMakeASMCompiler.cmake
Normal file
@ -0,0 +1,22 @@
|
||||
set(CMAKE_ASM_COMPILER "/usr/bin/cc")
|
||||
set(CMAKE_ASM_COMPILER_ARG1 "")
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_ASM_COMPILER_AR "/usr/bin/gcc-ar")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_ASM_COMPILER_RANLIB "/usr/bin/gcc-ranlib")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_MT "")
|
||||
set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
|
||||
set(CMAKE_ASM_COMPILER_LOADED 1)
|
||||
set(CMAKE_ASM_COMPILER_ID "GNU")
|
||||
set(CMAKE_ASM_COMPILER_VERSION "")
|
||||
set(CMAKE_ASM_COMPILER_ENV_VAR "ASM")
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_ASM_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
set(CMAKE_ASM_LINKER_PREFERENCE 0)
|
||||
set(CMAKE_ASM_LINKER_DEPFILE_SUPPORTED )
|
||||
|
||||
|
74
bin/isocline/bld/CMakeFiles/3.28.2/CMakeCCompiler.cmake
Normal file
74
bin/isocline/bld/CMakeFiles/3.28.2/CMakeCCompiler.cmake
Normal file
@ -0,0 +1,74 @@
|
||||
set(CMAKE_C_COMPILER "/usr/bin/cc")
|
||||
set(CMAKE_C_COMPILER_ARG1 "")
|
||||
set(CMAKE_C_COMPILER_ID "GNU")
|
||||
set(CMAKE_C_COMPILER_VERSION "14.2.1")
|
||||
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_C_COMPILER_WRAPPER "")
|
||||
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17")
|
||||
set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON")
|
||||
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23")
|
||||
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
|
||||
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
|
||||
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
|
||||
set(CMAKE_C17_COMPILE_FEATURES "c_std_17")
|
||||
set(CMAKE_C23_COMPILE_FEATURES "c_std_23")
|
||||
|
||||
set(CMAKE_C_PLATFORM_ID "Linux")
|
||||
set(CMAKE_C_SIMULATE_ID "")
|
||||
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU")
|
||||
set(CMAKE_C_SIMULATE_VERSION "")
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_MT "")
|
||||
set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
|
||||
set(CMAKE_COMPILER_IS_GNUCC 1)
|
||||
set(CMAKE_C_COMPILER_LOADED 1)
|
||||
set(CMAKE_C_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_C_ABI_COMPILED TRUE)
|
||||
|
||||
set(CMAKE_C_COMPILER_ENV_VAR "CC")
|
||||
|
||||
set(CMAKE_C_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
|
||||
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
set(CMAKE_C_LINKER_PREFERENCE 10)
|
||||
set(CMAKE_C_LINKER_DEPFILE_SUPPORTED TRUE)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_C_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_C_COMPILER_ABI "ELF")
|
||||
set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN")
|
||||
set(CMAKE_C_LIBRARY_ARCHITECTURE "")
|
||||
|
||||
if(CMAKE_C_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-redhat-linux/14/include;/usr/local/include;/usr/include")
|
||||
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
|
||||
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-redhat-linux/14;/usr/lib64;/lib64;/usr/lib")
|
||||
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
85
bin/isocline/bld/CMakeFiles/3.28.2/CMakeCXXCompiler.cmake
Normal file
85
bin/isocline/bld/CMakeFiles/3.28.2/CMakeCXXCompiler.cmake
Normal file
@ -0,0 +1,85 @@
|
||||
set(CMAKE_CXX_COMPILER "/usr/bin/c++")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "")
|
||||
set(CMAKE_CXX_COMPILER_ID "GNU")
|
||||
set(CMAKE_CXX_COMPILER_VERSION "14.2.1")
|
||||
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_CXX_COMPILER_WRAPPER "")
|
||||
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17")
|
||||
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON")
|
||||
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23")
|
||||
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
|
||||
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
|
||||
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
|
||||
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
|
||||
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
|
||||
set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
|
||||
|
||||
set(CMAKE_CXX_PLATFORM_ID "Linux")
|
||||
set(CMAKE_CXX_SIMULATE_ID "")
|
||||
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU")
|
||||
set(CMAKE_CXX_SIMULATE_VERSION "")
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_MT "")
|
||||
set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
|
||||
set(CMAKE_COMPILER_IS_GNUCXX 1)
|
||||
set(CMAKE_CXX_COMPILER_LOADED 1)
|
||||
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_CXX_ABI_COMPILED TRUE)
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m)
|
||||
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
|
||||
foreach (lang C OBJC OBJCXX)
|
||||
if (CMAKE_${lang}_COMPILER_ID_RUN)
|
||||
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
|
||||
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
|
||||
endforeach()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE 30)
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
|
||||
set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED TRUE)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_CXX_COMPILER_ABI "ELF")
|
||||
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
|
||||
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
|
||||
|
||||
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/14;/usr/include/c++/14/x86_64-redhat-linux;/usr/include/c++/14/backward;/usr/lib/gcc/x86_64-redhat-linux/14/include;/usr/local/include;/usr/include")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-redhat-linux/14;/usr/lib64;/lib64;/usr/lib")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
BIN
bin/isocline/bld/CMakeFiles/3.28.2/CMakeDetermineCompilerABI_C.bin
Executable file
BIN
bin/isocline/bld/CMakeFiles/3.28.2/CMakeDetermineCompilerABI_C.bin
Executable file
Binary file not shown.
BIN
bin/isocline/bld/CMakeFiles/3.28.2/CMakeDetermineCompilerABI_CXX.bin
Executable file
BIN
bin/isocline/bld/CMakeFiles/3.28.2/CMakeDetermineCompilerABI_CXX.bin
Executable file
Binary file not shown.
15
bin/isocline/bld/CMakeFiles/3.28.2/CMakeSystem.cmake
Normal file
15
bin/isocline/bld/CMakeFiles/3.28.2/CMakeSystem.cmake
Normal file
@ -0,0 +1,15 @@
|
||||
set(CMAKE_HOST_SYSTEM "Linux-6.10.12-200.fc40.x86_64")
|
||||
set(CMAKE_HOST_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_HOST_SYSTEM_VERSION "6.10.12-200.fc40.x86_64")
|
||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
|
||||
|
||||
set(CMAKE_SYSTEM "Linux-6.10.12-200.fc40.x86_64")
|
||||
set(CMAKE_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_SYSTEM_VERSION "6.10.12-200.fc40.x86_64")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
|
||||
set(CMAKE_SYSTEM_LOADED 1)
|
@ -0,0 +1,880 @@
|
||||
#ifdef __cplusplus
|
||||
# error "A C++ compiler has been selected for C."
|
||||
#endif
|
||||
|
||||
#if defined(__18CXX)
|
||||
# define ID_VOID_MAIN
|
||||
#endif
|
||||
#if defined(__CLASSIC_C__)
|
||||
/* cv-qualifiers did not exist in K&R C */
|
||||
# define const
|
||||
# define volatile
|
||||
#endif
|
||||
|
||||
#if !defined(__has_include)
|
||||
/* If the compiler does not have __has_include, pretend the answer is
|
||||
always no. */
|
||||
# define __has_include(x) 0
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
|
||||
except that a few beta releases use the old format with V=2021. */
|
||||
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
|
||||
/* The third version component from --version is an update index,
|
||||
but no macro is provided for it. */
|
||||
# define COMPILER_VERSION_PATCH DEC(0)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
|
||||
# define COMPILER_ID "IntelLLVM"
|
||||
#if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
#endif
|
||||
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
|
||||
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
|
||||
* VVVV is no smaller than the current year when a version is released.
|
||||
*/
|
||||
#if __INTEL_LLVM_COMPILER < 1000000L
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
|
||||
#else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
|
||||
#endif
|
||||
#if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
#elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
#endif
|
||||
#if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
#endif
|
||||
#if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_C)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_C >= 0x5100
|
||||
/* __SUNPRO_C = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_cc)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_cc = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
|
||||
|
||||
#elif defined(__DECC)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECC_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
|
||||
|
||||
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__open_xl__) && defined(__clang__)
|
||||
# define COMPILER_ID "IBMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__NVCOMPILER)
|
||||
# define COMPILER_ID "NVHPC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
|
||||
# if defined(__NVCOMPILER_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__clang__) && defined(__cray__)
|
||||
# define COMPILER_ID "CrayClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__CLANG_FUJITSU)
|
||||
# define COMPILER_ID "FujitsuClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(__FUJITSU)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
# if defined(__FCC_version__)
|
||||
# define COMPILER_VERSION __FCC_version__
|
||||
# elif defined(__FCC_major__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# endif
|
||||
# if defined(__fcc_version)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
|
||||
# elif defined(__FCC_VERSION)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
|
||||
# endif
|
||||
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__TASKING__)
|
||||
# define COMPILER_ID "Tasking"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
|
||||
|
||||
#elif defined(__ORANGEC__)
|
||||
# define COMPILER_ID "OrangeC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
|
||||
|
||||
#elif defined(__TINYC__)
|
||||
# define COMPILER_ID "TinyCC"
|
||||
|
||||
#elif defined(__BCC__)
|
||||
# define COMPILER_ID "Bruce"
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
|
||||
# define COMPILER_ID "LCC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
|
||||
# if defined(__LCC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(_ADI_COMPILER)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VERSIONNUM__)
|
||||
/* __VERSIONNUM__ = 0xVVRRPPTT */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
|
||||
# define COMPILER_ID "SDCC"
|
||||
# if defined(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
|
||||
# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
|
||||
# else
|
||||
/* SDCC = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__MSYS__)
|
||||
# define PLATFORM_ID "MSYS"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# elif defined(__VXWORKS__)
|
||||
# define PLATFORM_ID "VxWorks"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
# elif defined(_ADI_COMPILER)
|
||||
# define PLATFORM_ID "ADSP"
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_ARM64EC)
|
||||
# define ARCHITECTURE_ID "ARM64EC"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__ICCV850__)
|
||||
# define ARCHITECTURE_ID "V850"
|
||||
|
||||
# elif defined(__ICC8051__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__ICCSTM8__)
|
||||
# define ARCHITECTURE_ID "STM8"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# if defined(__TI_ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__MSP430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__TMS320C28XX__)
|
||||
# define ARCHITECTURE_ID "TMS320C28x"
|
||||
|
||||
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
|
||||
# define ARCHITECTURE_ID "TMS320C6x"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
# elif defined(__ADSPSHARC__)
|
||||
# define ARCHITECTURE_ID "SHARC"
|
||||
|
||||
# elif defined(__ADSPBLACKFIN__)
|
||||
# define ARCHITECTURE_ID "Blackfin"
|
||||
|
||||
#elif defined(__TASKING__)
|
||||
|
||||
# if defined(__CTC__) || defined(__CPTC__)
|
||||
# define ARCHITECTURE_ID "TriCore"
|
||||
|
||||
# elif defined(__CMCS__)
|
||||
# define ARCHITECTURE_ID "MCS"
|
||||
|
||||
# elif defined(__CARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__CARC__)
|
||||
# define ARCHITECTURE_ID "ARC"
|
||||
|
||||
# elif defined(__C51__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__CPCP__)
|
||||
# define ARCHITECTURE_ID "PCP"
|
||||
|
||||
# else
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number. */
|
||||
#ifdef COMPILER_VERSION
|
||||
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#elif defined(COMPILER_VERSION_MAJOR)
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#elif defined(COMPILER_VERSION_INTERNAL_STR)
|
||||
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
#if !defined(__STDC__) && !defined(__clang__)
|
||||
# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__)
|
||||
# define C_VERSION "90"
|
||||
# else
|
||||
# define C_VERSION
|
||||
# endif
|
||||
#elif __STDC_VERSION__ > 201710L
|
||||
# define C_VERSION "23"
|
||||
#elif __STDC_VERSION__ >= 201710L
|
||||
# define C_VERSION "17"
|
||||
#elif __STDC_VERSION__ >= 201000L
|
||||
# define C_VERSION "11"
|
||||
#elif __STDC_VERSION__ >= 199901L
|
||||
# define C_VERSION "99"
|
||||
#else
|
||||
# define C_VERSION "90"
|
||||
#endif
|
||||
const char* info_language_standard_default =
|
||||
"INFO" ":" "standard_default[" C_VERSION "]";
|
||||
|
||||
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
|
||||
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
|
||||
defined(__TI_COMPILER_VERSION__)) && \
|
||||
!defined(__STRICT_ANSI__)
|
||||
"ON"
|
||||
#else
|
||||
"OFF"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
#ifdef ID_VOID_MAIN
|
||||
void main() {}
|
||||
#else
|
||||
# if defined(__CLASSIC_C__)
|
||||
int main(argc, argv) int argc; char *argv[];
|
||||
# else
|
||||
int main(int argc, char* argv[])
|
||||
# endif
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
require += info_arch[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_standard_default[argc];
|
||||
require += info_language_extensions_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
#endif
|
BIN
bin/isocline/bld/CMakeFiles/3.28.2/CompilerIdC/a.out
Executable file
BIN
bin/isocline/bld/CMakeFiles/3.28.2/CompilerIdC/a.out
Executable file
Binary file not shown.
@ -0,0 +1,869 @@
|
||||
/* This source file must have a .cpp extension so that all C++ compilers
|
||||
recognize the extension without flags. Borland does not know .cxx for
|
||||
example. */
|
||||
#ifndef __cplusplus
|
||||
# error "A C compiler has been selected for C++."
|
||||
#endif
|
||||
|
||||
#if !defined(__has_include)
|
||||
/* If the compiler does not have __has_include, pretend the answer is
|
||||
always no. */
|
||||
# define __has_include(x) 0
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__COMO__)
|
||||
# define COMPILER_ID "Comeau"
|
||||
/* __COMO_VERSION__ = VRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
|
||||
|
||||
#elif defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
|
||||
except that a few beta releases use the old format with V=2021. */
|
||||
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
|
||||
/* The third version component from --version is an update index,
|
||||
but no macro is provided for it. */
|
||||
# define COMPILER_VERSION_PATCH DEC(0)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
|
||||
# define COMPILER_ID "IntelLLVM"
|
||||
#if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
#endif
|
||||
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
|
||||
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
|
||||
* VVVV is no smaller than the current year when a version is released.
|
||||
*/
|
||||
#if __INTEL_LLVM_COMPILER < 1000000L
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
|
||||
#else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
|
||||
#endif
|
||||
#if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
#elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
#endif
|
||||
#if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
#endif
|
||||
#if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_CC)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_CC >= 0x5100
|
||||
/* __SUNPRO_CC = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_aCC)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_aCC = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
|
||||
|
||||
#elif defined(__DECCXX)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECCXX_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
|
||||
|
||||
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__open_xl__) && defined(__clang__)
|
||||
# define COMPILER_ID "IBMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__NVCOMPILER)
|
||||
# define COMPILER_ID "NVHPC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
|
||||
# if defined(__NVCOMPILER_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__clang__) && defined(__cray__)
|
||||
# define COMPILER_ID "CrayClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__CLANG_FUJITSU)
|
||||
# define COMPILER_ID "FujitsuClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(__FUJITSU)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
# if defined(__FCC_version__)
|
||||
# define COMPILER_VERSION __FCC_version__
|
||||
# elif defined(__FCC_major__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# endif
|
||||
# if defined(__fcc_version)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
|
||||
# elif defined(__FCC_VERSION)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
|
||||
# endif
|
||||
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__TASKING__)
|
||||
# define COMPILER_ID "Tasking"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
|
||||
|
||||
#elif defined(__ORANGEC__)
|
||||
# define COMPILER_ID "OrangeC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
|
||||
# define COMPILER_ID "LCC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
|
||||
# if defined(__LCC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__) || defined(__GNUG__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# if defined(__GNUC__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(_ADI_COMPILER)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VERSIONNUM__)
|
||||
/* __VERSIONNUM__ = 0xVVRRPPTT */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__MSYS__)
|
||||
# define PLATFORM_ID "MSYS"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# elif defined(__VXWORKS__)
|
||||
# define PLATFORM_ID "VxWorks"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
# elif defined(_ADI_COMPILER)
|
||||
# define PLATFORM_ID "ADSP"
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_ARM64EC)
|
||||
# define ARCHITECTURE_ID "ARM64EC"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__ICCV850__)
|
||||
# define ARCHITECTURE_ID "V850"
|
||||
|
||||
# elif defined(__ICC8051__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__ICCSTM8__)
|
||||
# define ARCHITECTURE_ID "STM8"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# if defined(__TI_ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__MSP430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__TMS320C28XX__)
|
||||
# define ARCHITECTURE_ID "TMS320C28x"
|
||||
|
||||
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
|
||||
# define ARCHITECTURE_ID "TMS320C6x"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
# elif defined(__ADSPSHARC__)
|
||||
# define ARCHITECTURE_ID "SHARC"
|
||||
|
||||
# elif defined(__ADSPBLACKFIN__)
|
||||
# define ARCHITECTURE_ID "Blackfin"
|
||||
|
||||
#elif defined(__TASKING__)
|
||||
|
||||
# if defined(__CTC__) || defined(__CPTC__)
|
||||
# define ARCHITECTURE_ID "TriCore"
|
||||
|
||||
# elif defined(__CMCS__)
|
||||
# define ARCHITECTURE_ID "MCS"
|
||||
|
||||
# elif defined(__CARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__CARC__)
|
||||
# define ARCHITECTURE_ID "ARC"
|
||||
|
||||
# elif defined(__C51__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__CPCP__)
|
||||
# define ARCHITECTURE_ID "PCP"
|
||||
|
||||
# else
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number. */
|
||||
#ifdef COMPILER_VERSION
|
||||
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#elif defined(COMPILER_VERSION_MAJOR)
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#elif defined(COMPILER_VERSION_INTERNAL_STR)
|
||||
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
|
||||
# if defined(__INTEL_CXX11_MODE__)
|
||||
# if defined(__cpp_aggregate_nsdmi)
|
||||
# define CXX_STD 201402L
|
||||
# else
|
||||
# define CXX_STD 201103L
|
||||
# endif
|
||||
# else
|
||||
# define CXX_STD 199711L
|
||||
# endif
|
||||
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
|
||||
# define CXX_STD _MSVC_LANG
|
||||
#else
|
||||
# define CXX_STD __cplusplus
|
||||
#endif
|
||||
|
||||
const char* info_language_standard_default = "INFO" ":" "standard_default["
|
||||
#if CXX_STD > 202002L
|
||||
"23"
|
||||
#elif CXX_STD > 201703L
|
||||
"20"
|
||||
#elif CXX_STD >= 201703L
|
||||
"17"
|
||||
#elif CXX_STD >= 201402L
|
||||
"14"
|
||||
#elif CXX_STD >= 201103L
|
||||
"11"
|
||||
#else
|
||||
"98"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
|
||||
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
|
||||
defined(__TI_COMPILER_VERSION__)) && \
|
||||
!defined(__STRICT_ANSI__)
|
||||
"ON"
|
||||
#else
|
||||
"OFF"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
require += info_arch[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_standard_default[argc];
|
||||
require += info_language_extensions_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
BIN
bin/isocline/bld/CMakeFiles/3.28.2/CompilerIdCXX/a.out
Executable file
BIN
bin/isocline/bld/CMakeFiles/3.28.2/CompilerIdCXX/a.out
Executable file
Binary file not shown.
508
bin/isocline/bld/CMakeFiles/CMakeConfigureLog.yaml
Normal file
508
bin/isocline/bld/CMakeFiles/CMakeConfigureLog.yaml
Normal file
@ -0,0 +1,508 @@
|
||||
|
||||
---
|
||||
events:
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineSystem.cmake:233 (message)"
|
||||
- "CMakeLists.txt:5 (project)"
|
||||
message: |
|
||||
The system is: Linux - 6.10.12-200.fc40.x86_64 - x86_64
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)"
|
||||
- "CMakeLists.txt:5 (project)"
|
||||
message: |
|
||||
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
|
||||
Compiler: /usr/bin/cc
|
||||
Build flags:
|
||||
Id flags:
|
||||
|
||||
The output was:
|
||||
0
|
||||
|
||||
|
||||
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
|
||||
|
||||
The C compiler identification is GNU, found in:
|
||||
/home/hyung-hwan/projects/isocline/bld/CMakeFiles/3.28.2/CompilerIdC/a.out
|
||||
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)"
|
||||
- "CMakeLists.txt:5 (project)"
|
||||
message: |
|
||||
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
|
||||
Compiler: /usr/bin/c++
|
||||
Build flags:
|
||||
Id flags:
|
||||
|
||||
The output was:
|
||||
0
|
||||
|
||||
|
||||
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
|
||||
|
||||
The CXX compiler identification is GNU, found in:
|
||||
/home/hyung-hwan/projects/isocline/bld/CMakeFiles/3.28.2/CompilerIdCXX/a.out
|
||||
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:1131 (message)"
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineASMCompiler.cmake:131 (CMAKE_DETERMINE_COMPILER_ID_VENDOR)"
|
||||
- "CMakeLists.txt:5 (project)"
|
||||
message: |
|
||||
Checking whether the ASM compiler is GNU using "--version" matched "(GNU assembler)|(GCC)|(Free Software Foundation)":
|
||||
cc (GCC) 14.2.1 20240912 (Red Hat 14.2.1-3)
|
||||
Copyright (C) 2024 Free Software Foundation, Inc.
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)"
|
||||
- "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt:5 (project)"
|
||||
checks:
|
||||
- "Detecting C compiler ABI info"
|
||||
directories:
|
||||
source: "/home/hyung-hwan/projects/isocline/bld/CMakeFiles/CMakeScratch/TryCompile-TKmhJF"
|
||||
binary: "/home/hyung-hwan/projects/isocline/bld/CMakeFiles/CMakeScratch/TryCompile-TKmhJF"
|
||||
cmakeVariables:
|
||||
CMAKE_C_FLAGS: ""
|
||||
CMAKE_C_FLAGS_DEBUG: "-g"
|
||||
CMAKE_EXE_LINKER_FLAGS: ""
|
||||
buildResult:
|
||||
variable: "CMAKE_C_ABI_COMPILED"
|
||||
cached: true
|
||||
stdout: |
|
||||
Change Dir: '/home/hyung-hwan/projects/isocline/bld/CMakeFiles/CMakeScratch/TryCompile-TKmhJF'
|
||||
|
||||
Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_437a0/fast
|
||||
/usr/bin/gmake -f CMakeFiles/cmTC_437a0.dir/build.make CMakeFiles/cmTC_437a0.dir/build
|
||||
gmake[1]: Entering directory '/home/hyung-hwan/projects/isocline/bld/CMakeFiles/CMakeScratch/TryCompile-TKmhJF'
|
||||
Building C object CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o
|
||||
/usr/bin/cc -v -o CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/cc
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-redhat-linux
|
||||
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,m2,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none,amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC)
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_437a0.dir/'
|
||||
/usr/libexec/gcc/x86_64-redhat-linux/14/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_437a0.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o /tmp/ccixmdEM.s
|
||||
GNU C17 (GCC) version 14.2.1 20240912 (Red Hat 14.2.1-3) (x86_64-redhat-linux)
|
||||
compiled by GNU C version 14.2.1 20240912 (Red Hat 14.2.1-3), GMP version 6.2.1, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.24-GMP
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/include-fixed"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/../../../../x86_64-redhat-linux/include"
|
||||
#include "..." search starts here:
|
||||
#include <...> search starts here:
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
End of search list.
|
||||
Compiler executable checksum: a827ac3ce32367df3fd4c736df15654d
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_437a0.dir/'
|
||||
as -v --64 -o CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o /tmp/ccixmdEM.s
|
||||
GNU assembler version 2.41 (x86_64-redhat-linux) using BFD version version 2.41-37.fc40
|
||||
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.'
|
||||
Linking C executable cmTC_437a0
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_437a0.dir/link.txt --verbose=1
|
||||
/usr/bin/cc -v CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o -o cmTC_437a0
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/cc
|
||||
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-redhat-linux
|
||||
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,m2,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none,amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC)
|
||||
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_437a0' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_437a0.'
|
||||
/usr/libexec/gcc/x86_64-redhat-linux/14/collect2 -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cc6OaWFK.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_437a0 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_437a0' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_437a0.'
|
||||
gmake[1]: Leaving directory '/home/hyung-hwan/projects/isocline/bld/CMakeFiles/CMakeScratch/TryCompile-TKmhJF'
|
||||
|
||||
exitCode: 0
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:127 (message)"
|
||||
- "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt:5 (project)"
|
||||
message: |
|
||||
Parsed C implicit include dir info: rv=done
|
||||
found start of include info
|
||||
found start of implicit include info
|
||||
add: [/usr/lib/gcc/x86_64-redhat-linux/14/include]
|
||||
add: [/usr/local/include]
|
||||
add: [/usr/include]
|
||||
end of search list found
|
||||
collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/14/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/14/include]
|
||||
collapse include dir [/usr/local/include] ==> [/usr/local/include]
|
||||
collapse include dir [/usr/include] ==> [/usr/include]
|
||||
implicit include dirs: [/usr/lib/gcc/x86_64-redhat-linux/14/include;/usr/local/include;/usr/include]
|
||||
|
||||
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:159 (message)"
|
||||
- "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt:5 (project)"
|
||||
message: |
|
||||
Parsed C implicit link information:
|
||||
link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
|
||||
ignore line: [Change Dir: '/home/hyung-hwan/projects/isocline/bld/CMakeFiles/CMakeScratch/TryCompile-TKmhJF']
|
||||
ignore line: []
|
||||
ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_437a0/fast]
|
||||
ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_437a0.dir/build.make CMakeFiles/cmTC_437a0.dir/build]
|
||||
ignore line: [gmake[1]: Entering directory '/home/hyung-hwan/projects/isocline/bld/CMakeFiles/CMakeScratch/TryCompile-TKmhJF']
|
||||
ignore line: [Building C object CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o]
|
||||
ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/cc]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-redhat-linux]
|
||||
ignore line: [Configured with: ../configure --enable-bootstrap --enable-languages=c c++ fortran objc obj-c++ ada go d m2 lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) ]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_437a0.dir/']
|
||||
ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/14/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_437a0.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o /tmp/ccixmdEM.s]
|
||||
ignore line: [GNU C17 (GCC) version 14.2.1 20240912 (Red Hat 14.2.1-3) (x86_64-redhat-linux)]
|
||||
ignore line: [ compiled by GNU C version 14.2.1 20240912 (Red Hat 14.2.1-3) GMP version 6.2.1 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.24-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/include-fixed"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/../../../../x86_64-redhat-linux/include"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/14/include]
|
||||
ignore line: [ /usr/local/include]
|
||||
ignore line: [ /usr/include]
|
||||
ignore line: [End of search list.]
|
||||
ignore line: [Compiler executable checksum: a827ac3ce32367df3fd4c736df15654d]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_437a0.dir/']
|
||||
ignore line: [ as -v --64 -o CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o /tmp/ccixmdEM.s]
|
||||
ignore line: [GNU assembler version 2.41 (x86_64-redhat-linux) using BFD version version 2.41-37.fc40]
|
||||
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.']
|
||||
ignore line: [Linking C executable cmTC_437a0]
|
||||
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_437a0.dir/link.txt --verbose=1]
|
||||
ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o -o cmTC_437a0 ]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/cc]
|
||||
ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-redhat-linux]
|
||||
ignore line: [Configured with: ../configure --enable-bootstrap --enable-languages=c c++ fortran objc obj-c++ ada go d m2 lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) ]
|
||||
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_437a0' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_437a0.']
|
||||
link line: [ /usr/libexec/gcc/x86_64-redhat-linux/14/collect2 -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cc6OaWFK.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_437a0 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o]
|
||||
arg [/usr/libexec/gcc/x86_64-redhat-linux/14/collect2] ==> ignore
|
||||
arg [-plugin] ==> ignore
|
||||
arg [/usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so] ==> ignore
|
||||
arg [-plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=/tmp/cc6OaWFK.res] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [--build-id] ==> ignore
|
||||
arg [--no-add-needed] ==> ignore
|
||||
arg [--eh-frame-hdr] ==> ignore
|
||||
arg [--hash-style=gnu] ==> ignore
|
||||
arg [-m] ==> ignore
|
||||
arg [elf_x86_64] ==> ignore
|
||||
arg [-dynamic-linker] ==> ignore
|
||||
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [cmTC_437a0] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o]
|
||||
arg [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o]
|
||||
arg [/usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o]
|
||||
arg [-L/usr/lib/gcc/x86_64-redhat-linux/14] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/14]
|
||||
arg [-L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64]
|
||||
arg [-L/lib/../lib64] ==> dir [/lib/../lib64]
|
||||
arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64]
|
||||
arg [-L/usr/lib/gcc/x86_64-redhat-linux/14/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../..]
|
||||
arg [CMakeFiles/cmTC_437a0.dir/CMakeCCompilerABI.c.o] ==> ignore
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [--push-state] ==> ignore
|
||||
arg [--as-needed] ==> ignore
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [--pop-state] ==> ignore
|
||||
arg [-lc] ==> lib [c]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [--push-state] ==> ignore
|
||||
arg [--as-needed] ==> ignore
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [--pop-state] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-redhat-linux/14/crtend.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/crtend.o]
|
||||
arg [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o] ==> [/usr/lib64/crt1.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o] ==> [/usr/lib64/crti.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o] ==> [/usr/lib64/crtn.o]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/14] ==> [/usr/lib/gcc/x86_64-redhat-linux/14]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64] ==> [/usr/lib64]
|
||||
collapse library dir [/lib/../lib64] ==> [/lib64]
|
||||
collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../..] ==> [/usr/lib]
|
||||
implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
|
||||
implicit objs: [/usr/lib64/crt1.o;/usr/lib64/crti.o;/usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o;/usr/lib/gcc/x86_64-redhat-linux/14/crtend.o;/usr/lib64/crtn.o]
|
||||
implicit dirs: [/usr/lib/gcc/x86_64-redhat-linux/14;/usr/lib64;/lib64;/usr/lib]
|
||||
implicit fwks: []
|
||||
|
||||
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)"
|
||||
- "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt:5 (project)"
|
||||
checks:
|
||||
- "Detecting CXX compiler ABI info"
|
||||
directories:
|
||||
source: "/home/hyung-hwan/projects/isocline/bld/CMakeFiles/CMakeScratch/TryCompile-CkqpkL"
|
||||
binary: "/home/hyung-hwan/projects/isocline/bld/CMakeFiles/CMakeScratch/TryCompile-CkqpkL"
|
||||
cmakeVariables:
|
||||
CMAKE_CXX_FLAGS: ""
|
||||
CMAKE_CXX_FLAGS_DEBUG: "-g"
|
||||
CMAKE_EXE_LINKER_FLAGS: ""
|
||||
buildResult:
|
||||
variable: "CMAKE_CXX_ABI_COMPILED"
|
||||
cached: true
|
||||
stdout: |
|
||||
Change Dir: '/home/hyung-hwan/projects/isocline/bld/CMakeFiles/CMakeScratch/TryCompile-CkqpkL'
|
||||
|
||||
Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_3e027/fast
|
||||
/usr/bin/gmake -f CMakeFiles/cmTC_3e027.dir/build.make CMakeFiles/cmTC_3e027.dir/build
|
||||
gmake[1]: Entering directory '/home/hyung-hwan/projects/isocline/bld/CMakeFiles/CMakeScratch/TryCompile-CkqpkL'
|
||||
Building CXX object CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o
|
||||
/usr/bin/c++ -v -o CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/c++
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-redhat-linux
|
||||
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,m2,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none,amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC)
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_3e027.dir/'
|
||||
/usr/libexec/gcc/x86_64-redhat-linux/14/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_3e027.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -o /tmp/ccwotpF6.s
|
||||
GNU C++17 (GCC) version 14.2.1 20240912 (Red Hat 14.2.1-3) (x86_64-redhat-linux)
|
||||
compiled by GNU C version 14.2.1 20240912 (Red Hat 14.2.1-3), GMP version 6.2.1, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.24-GMP
|
||||
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/include-fixed"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/../../../../x86_64-redhat-linux/include"
|
||||
#include "..." search starts here:
|
||||
#include <...> search starts here:
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/x86_64-redhat-linux
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/backward
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
End of search list.
|
||||
Compiler executable checksum: eec2371a83b7453e8c6bc9f634c2b1c3
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_3e027.dir/'
|
||||
as -v --64 -o CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccwotpF6.s
|
||||
GNU assembler version 2.41 (x86_64-redhat-linux) using BFD version version 2.41-37.fc40
|
||||
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.'
|
||||
Linking CXX executable cmTC_3e027
|
||||
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3e027.dir/link.txt --verbose=1
|
||||
/usr/bin/c++ -v CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_3e027
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/c++
|
||||
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-redhat-linux
|
||||
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,objc,obj-c++,ada,go,d,m2,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none,amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC)
|
||||
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_3e027' '-foffload-options=-l_GCC_m' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_3e027.'
|
||||
/usr/libexec/gcc/x86_64-redhat-linux/14/collect2 -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cctRYQKz.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_3e027 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_3e027' '-foffload-options=-l_GCC_m' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_3e027.'
|
||||
gmake[1]: Leaving directory '/home/hyung-hwan/projects/isocline/bld/CMakeFiles/CMakeScratch/TryCompile-CkqpkL'
|
||||
|
||||
exitCode: 0
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:127 (message)"
|
||||
- "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt:5 (project)"
|
||||
message: |
|
||||
Parsed CXX implicit include dir info: rv=done
|
||||
found start of include info
|
||||
found start of implicit include info
|
||||
add: [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14]
|
||||
add: [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/x86_64-redhat-linux]
|
||||
add: [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/backward]
|
||||
add: [/usr/lib/gcc/x86_64-redhat-linux/14/include]
|
||||
add: [/usr/local/include]
|
||||
add: [/usr/include]
|
||||
end of search list found
|
||||
collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14] ==> [/usr/include/c++/14]
|
||||
collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/x86_64-redhat-linux] ==> [/usr/include/c++/14/x86_64-redhat-linux]
|
||||
collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/backward] ==> [/usr/include/c++/14/backward]
|
||||
collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/14/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/14/include]
|
||||
collapse include dir [/usr/local/include] ==> [/usr/local/include]
|
||||
collapse include dir [/usr/include] ==> [/usr/include]
|
||||
implicit include dirs: [/usr/include/c++/14;/usr/include/c++/14/x86_64-redhat-linux;/usr/include/c++/14/backward;/usr/lib/gcc/x86_64-redhat-linux/14/include;/usr/local/include;/usr/include]
|
||||
|
||||
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:159 (message)"
|
||||
- "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt:5 (project)"
|
||||
message: |
|
||||
Parsed CXX implicit link information:
|
||||
link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
|
||||
ignore line: [Change Dir: '/home/hyung-hwan/projects/isocline/bld/CMakeFiles/CMakeScratch/TryCompile-CkqpkL']
|
||||
ignore line: []
|
||||
ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_3e027/fast]
|
||||
ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_3e027.dir/build.make CMakeFiles/cmTC_3e027.dir/build]
|
||||
ignore line: [gmake[1]: Entering directory '/home/hyung-hwan/projects/isocline/bld/CMakeFiles/CMakeScratch/TryCompile-CkqpkL']
|
||||
ignore line: [Building CXX object CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o]
|
||||
ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/c++]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-redhat-linux]
|
||||
ignore line: [Configured with: ../configure --enable-bootstrap --enable-languages=c c++ fortran objc obj-c++ ada go d m2 lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) ]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_3e027.dir/']
|
||||
ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/14/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_3e027.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -o /tmp/ccwotpF6.s]
|
||||
ignore line: [GNU C++17 (GCC) version 14.2.1 20240912 (Red Hat 14.2.1-3) (x86_64-redhat-linux)]
|
||||
ignore line: [ compiled by GNU C version 14.2.1 20240912 (Red Hat 14.2.1-3) GMP version 6.2.1 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.24-GMP]
|
||||
ignore line: []
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/include-fixed"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/14/../../../../x86_64-redhat-linux/include"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14]
|
||||
ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/x86_64-redhat-linux]
|
||||
ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/14/../../../../include/c++/14/backward]
|
||||
ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/14/include]
|
||||
ignore line: [ /usr/local/include]
|
||||
ignore line: [ /usr/include]
|
||||
ignore line: [End of search list.]
|
||||
ignore line: [Compiler executable checksum: eec2371a83b7453e8c6bc9f634c2b1c3]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_3e027.dir/']
|
||||
ignore line: [ as -v --64 -o CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccwotpF6.s]
|
||||
ignore line: [GNU assembler version 2.41 (x86_64-redhat-linux) using BFD version version 2.41-37.fc40]
|
||||
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.']
|
||||
ignore line: [Linking CXX executable cmTC_3e027]
|
||||
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3e027.dir/link.txt --verbose=1]
|
||||
ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_3e027 ]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/c++]
|
||||
ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-redhat-linux]
|
||||
ignore line: [Configured with: ../configure --enable-bootstrap --enable-languages=c c++ fortran objc obj-c++ ada go d m2 lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-libstdcxx-zoneinfo=/usr/share/zoneinfo --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-14.2.1-20240912/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none amdgcn-amdhsa --enable-offload-defaulted --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 14.2.1 20240912 (Red Hat 14.2.1-3) (GCC) ]
|
||||
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/14/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/14/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/14/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_3e027' '-foffload-options=-l_GCC_m' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_3e027.']
|
||||
link line: [ /usr/libexec/gcc/x86_64-redhat-linux/14/collect2 -plugin /usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cctRYQKz.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_3e027 /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/14 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/14/../../.. CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/14/crtend.o /usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o]
|
||||
arg [/usr/libexec/gcc/x86_64-redhat-linux/14/collect2] ==> ignore
|
||||
arg [-plugin] ==> ignore
|
||||
arg [/usr/libexec/gcc/x86_64-redhat-linux/14/liblto_plugin.so] ==> ignore
|
||||
arg [-plugin-opt=/usr/libexec/gcc/x86_64-redhat-linux/14/lto-wrapper] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=/tmp/cctRYQKz.res] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [--build-id] ==> ignore
|
||||
arg [--no-add-needed] ==> ignore
|
||||
arg [--eh-frame-hdr] ==> ignore
|
||||
arg [--hash-style=gnu] ==> ignore
|
||||
arg [-m] ==> ignore
|
||||
arg [elf_x86_64] ==> ignore
|
||||
arg [-dynamic-linker] ==> ignore
|
||||
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [cmTC_3e027] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o]
|
||||
arg [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o]
|
||||
arg [/usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o]
|
||||
arg [-L/usr/lib/gcc/x86_64-redhat-linux/14] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/14]
|
||||
arg [-L/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64]
|
||||
arg [-L/lib/../lib64] ==> dir [/lib/../lib64]
|
||||
arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64]
|
||||
arg [-L/usr/lib/gcc/x86_64-redhat-linux/14/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../..]
|
||||
arg [CMakeFiles/cmTC_3e027.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
|
||||
arg [-lstdc++] ==> lib [stdc++]
|
||||
arg [-lm] ==> lib [m]
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [-lc] ==> lib [c]
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [/usr/lib/gcc/x86_64-redhat-linux/14/crtend.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/crtend.o]
|
||||
arg [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o] ==> obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crt1.o] ==> [/usr/lib64/crt1.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crti.o] ==> [/usr/lib64/crti.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64/crtn.o] ==> [/usr/lib64/crtn.o]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/14] ==> [/usr/lib/gcc/x86_64-redhat-linux/14]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../../../lib64] ==> [/usr/lib64]
|
||||
collapse library dir [/lib/../lib64] ==> [/lib64]
|
||||
collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/14/../../..] ==> [/usr/lib]
|
||||
implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
|
||||
implicit objs: [/usr/lib64/crt1.o;/usr/lib64/crti.o;/usr/lib/gcc/x86_64-redhat-linux/14/crtbegin.o;/usr/lib/gcc/x86_64-redhat-linux/14/crtend.o;/usr/lib64/crtn.o]
|
||||
implicit dirs: [/usr/lib/gcc/x86_64-redhat-linux/14;/usr/lib64;/lib64;/usr/lib]
|
||||
implicit fwks: []
|
||||
|
||||
|
||||
...
|
16
bin/isocline/bld/CMakeFiles/CMakeDirectoryInformation.cmake
Normal file
16
bin/isocline/bld/CMakeFiles/CMakeDirectoryInformation.cmake
Normal file
@ -0,0 +1,16 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
# Relative path conversion top directories.
|
||||
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/hyung-hwan/projects/isocline")
|
||||
set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/hyung-hwan/projects/isocline/bld")
|
||||
|
||||
# Force unix paths in dependencies.
|
||||
set(CMAKE_FORCE_UNIX_PATHS 1)
|
||||
|
||||
|
||||
# The C and CXX include file regular expressions for this directory.
|
||||
set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
|
||||
set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
|
||||
set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
|
||||
set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
|
53
bin/isocline/bld/CMakeFiles/Makefile.cmake
Normal file
53
bin/isocline/bld/CMakeFiles/Makefile.cmake
Normal file
@ -0,0 +1,53 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
# The generator used is:
|
||||
set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
|
||||
|
||||
# The top level Makefile was generated from the following files:
|
||||
set(CMAKE_MAKEFILE_DEPENDS
|
||||
"CMakeCache.txt"
|
||||
"/home/hyung-hwan/projects/isocline/CMakeLists.txt"
|
||||
"CMakeFiles/3.28.2/CMakeASMCompiler.cmake"
|
||||
"CMakeFiles/3.28.2/CMakeCCompiler.cmake"
|
||||
"CMakeFiles/3.28.2/CMakeCXXCompiler.cmake"
|
||||
"CMakeFiles/3.28.2/CMakeSystem.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeASMInformation.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeCInformation.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeCXXInformation.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeGenericSystem.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeInitializeConfigs.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeLanguageInformation.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake"
|
||||
"/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/GNU-ASM.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/GNU-C.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/GNU-CXX.cmake"
|
||||
"/usr/share/cmake/Modules/Compiler/GNU.cmake"
|
||||
"/usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake"
|
||||
"/usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake"
|
||||
"/usr/share/cmake/Modules/Platform/Linux-GNU.cmake"
|
||||
"/usr/share/cmake/Modules/Platform/Linux-Initialize.cmake"
|
||||
"/usr/share/cmake/Modules/Platform/Linux.cmake"
|
||||
"/usr/share/cmake/Modules/Platform/UnixPaths.cmake"
|
||||
)
|
||||
|
||||
# The corresponding makefile is:
|
||||
set(CMAKE_MAKEFILE_OUTPUTS
|
||||
"Makefile"
|
||||
"CMakeFiles/cmake.check_cache"
|
||||
)
|
||||
|
||||
# Byproducts of CMake generate step:
|
||||
set(CMAKE_MAKEFILE_PRODUCTS
|
||||
"CMakeFiles/CMakeDirectoryInformation.cmake"
|
||||
)
|
||||
|
||||
# Dependency information for all targets:
|
||||
set(CMAKE_DEPEND_INFO_FILES
|
||||
"CMakeFiles/isocline.dir/DependInfo.cmake"
|
||||
"CMakeFiles/example.dir/DependInfo.cmake"
|
||||
"CMakeFiles/test_colors.dir/DependInfo.cmake"
|
||||
)
|
168
bin/isocline/bld/CMakeFiles/Makefile2
Normal file
168
bin/isocline/bld/CMakeFiles/Makefile2
Normal file
@ -0,0 +1,168 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
.PHONY : default_target
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/hyung-hwan/projects/isocline
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/hyung-hwan/projects/isocline/bld
|
||||
|
||||
#=============================================================================
|
||||
# Directory level rules for the build root directory
|
||||
|
||||
# The main recursive "all" target.
|
||||
all: CMakeFiles/isocline.dir/all
|
||||
all: CMakeFiles/example.dir/all
|
||||
all: CMakeFiles/test_colors.dir/all
|
||||
.PHONY : all
|
||||
|
||||
# The main recursive "preinstall" target.
|
||||
preinstall:
|
||||
.PHONY : preinstall
|
||||
|
||||
# The main recursive "clean" target.
|
||||
clean: CMakeFiles/isocline.dir/clean
|
||||
clean: CMakeFiles/example.dir/clean
|
||||
clean: CMakeFiles/test_colors.dir/clean
|
||||
.PHONY : clean
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for target CMakeFiles/isocline.dir
|
||||
|
||||
# All Build rule for target.
|
||||
CMakeFiles/isocline.dir/all:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/isocline.dir/build.make CMakeFiles/isocline.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/isocline.dir/build.make CMakeFiles/isocline.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/hyung-hwan/projects/isocline/bld/CMakeFiles --progress-num=3,4 "Built target isocline"
|
||||
.PHONY : CMakeFiles/isocline.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
CMakeFiles/isocline.dir/rule: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/hyung-hwan/projects/isocline/bld/CMakeFiles 2
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/isocline.dir/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/hyung-hwan/projects/isocline/bld/CMakeFiles 0
|
||||
.PHONY : CMakeFiles/isocline.dir/rule
|
||||
|
||||
# Convenience name for target.
|
||||
isocline: CMakeFiles/isocline.dir/rule
|
||||
.PHONY : isocline
|
||||
|
||||
# clean rule for target.
|
||||
CMakeFiles/isocline.dir/clean:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/isocline.dir/build.make CMakeFiles/isocline.dir/clean
|
||||
.PHONY : CMakeFiles/isocline.dir/clean
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for target CMakeFiles/example.dir
|
||||
|
||||
# All Build rule for target.
|
||||
CMakeFiles/example.dir/all: CMakeFiles/isocline.dir/all
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/example.dir/build.make CMakeFiles/example.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/example.dir/build.make CMakeFiles/example.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/hyung-hwan/projects/isocline/bld/CMakeFiles --progress-num=1,2 "Built target example"
|
||||
.PHONY : CMakeFiles/example.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
CMakeFiles/example.dir/rule: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/hyung-hwan/projects/isocline/bld/CMakeFiles 4
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/example.dir/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/hyung-hwan/projects/isocline/bld/CMakeFiles 0
|
||||
.PHONY : CMakeFiles/example.dir/rule
|
||||
|
||||
# Convenience name for target.
|
||||
example: CMakeFiles/example.dir/rule
|
||||
.PHONY : example
|
||||
|
||||
# clean rule for target.
|
||||
CMakeFiles/example.dir/clean:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/example.dir/build.make CMakeFiles/example.dir/clean
|
||||
.PHONY : CMakeFiles/example.dir/clean
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for target CMakeFiles/test_colors.dir
|
||||
|
||||
# All Build rule for target.
|
||||
CMakeFiles/test_colors.dir/all: CMakeFiles/isocline.dir/all
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_colors.dir/build.make CMakeFiles/test_colors.dir/depend
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_colors.dir/build.make CMakeFiles/test_colors.dir/build
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/hyung-hwan/projects/isocline/bld/CMakeFiles --progress-num=5,6 "Built target test_colors"
|
||||
.PHONY : CMakeFiles/test_colors.dir/all
|
||||
|
||||
# Build rule for subdir invocation for target.
|
||||
CMakeFiles/test_colors.dir/rule: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/hyung-hwan/projects/isocline/bld/CMakeFiles 4
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/test_colors.dir/all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/hyung-hwan/projects/isocline/bld/CMakeFiles 0
|
||||
.PHONY : CMakeFiles/test_colors.dir/rule
|
||||
|
||||
# Convenience name for target.
|
||||
test_colors: CMakeFiles/test_colors.dir/rule
|
||||
.PHONY : test_colors
|
||||
|
||||
# clean rule for target.
|
||||
CMakeFiles/test_colors.dir/clean:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_colors.dir/build.make CMakeFiles/test_colors.dir/clean
|
||||
.PHONY : CMakeFiles/test_colors.dir/clean
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
5
bin/isocline/bld/CMakeFiles/TargetDirectories.txt
Normal file
5
bin/isocline/bld/CMakeFiles/TargetDirectories.txt
Normal file
@ -0,0 +1,5 @@
|
||||
/home/hyung-hwan/projects/isocline/bld/CMakeFiles/isocline.dir
|
||||
/home/hyung-hwan/projects/isocline/bld/CMakeFiles/example.dir
|
||||
/home/hyung-hwan/projects/isocline/bld/CMakeFiles/test_colors.dir
|
||||
/home/hyung-hwan/projects/isocline/bld/CMakeFiles/edit_cache.dir
|
||||
/home/hyung-hwan/projects/isocline/bld/CMakeFiles/rebuild_cache.dir
|
1
bin/isocline/bld/CMakeFiles/cmake.check_cache
Normal file
1
bin/isocline/bld/CMakeFiles/cmake.check_cache
Normal file
@ -0,0 +1 @@
|
||||
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
|
23
bin/isocline/bld/CMakeFiles/example.dir/DependInfo.cmake
Normal file
23
bin/isocline/bld/CMakeFiles/example.dir/DependInfo.cmake
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
# Consider dependencies only in project.
|
||||
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
|
||||
|
||||
# The set of languages for which implicit dependencies are needed:
|
||||
set(CMAKE_DEPENDS_LANGUAGES
|
||||
)
|
||||
|
||||
# The set of dependency files which are needed:
|
||||
set(CMAKE_DEPENDS_DEPENDENCY_FILES
|
||||
"/home/hyung-hwan/projects/isocline/test/example.c" "CMakeFiles/example.dir/test/example.c.o" "gcc" "CMakeFiles/example.dir/test/example.c.o.d"
|
||||
)
|
||||
|
||||
# Targets to which this target links which contain Fortran sources.
|
||||
set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
|
||||
)
|
||||
|
||||
# Targets to which this target links which contain Fortran sources.
|
||||
set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES
|
||||
)
|
||||
|
||||
# Fortran module output directory.
|
||||
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
|
111
bin/isocline/bld/CMakeFiles/example.dir/build.make
Normal file
111
bin/isocline/bld/CMakeFiles/example.dir/build.make
Normal file
@ -0,0 +1,111 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
# Delete rule output on recipe failure.
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/hyung-hwan/projects/isocline
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/hyung-hwan/projects/isocline/bld
|
||||
|
||||
# Include any dependencies generated for this target.
|
||||
include CMakeFiles/example.dir/depend.make
|
||||
# Include any dependencies generated by the compiler for this target.
|
||||
include CMakeFiles/example.dir/compiler_depend.make
|
||||
|
||||
# Include the progress variables for this target.
|
||||
include CMakeFiles/example.dir/progress.make
|
||||
|
||||
# Include the compile flags for this target's objects.
|
||||
include CMakeFiles/example.dir/flags.make
|
||||
|
||||
CMakeFiles/example.dir/test/example.c.o: CMakeFiles/example.dir/flags.make
|
||||
CMakeFiles/example.dir/test/example.c.o: /home/hyung-hwan/projects/isocline/test/example.c
|
||||
CMakeFiles/example.dir/test/example.c.o: CMakeFiles/example.dir/compiler_depend.ts
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/hyung-hwan/projects/isocline/bld/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/example.dir/test/example.c.o"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/example.dir/test/example.c.o -MF CMakeFiles/example.dir/test/example.c.o.d -o CMakeFiles/example.dir/test/example.c.o -c /home/hyung-hwan/projects/isocline/test/example.c
|
||||
|
||||
CMakeFiles/example.dir/test/example.c.i: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/example.dir/test/example.c.i"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/hyung-hwan/projects/isocline/test/example.c > CMakeFiles/example.dir/test/example.c.i
|
||||
|
||||
CMakeFiles/example.dir/test/example.c.s: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/example.dir/test/example.c.s"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/hyung-hwan/projects/isocline/test/example.c -o CMakeFiles/example.dir/test/example.c.s
|
||||
|
||||
# Object files for target example
|
||||
example_OBJECTS = \
|
||||
"CMakeFiles/example.dir/test/example.c.o"
|
||||
|
||||
# External object files for target example
|
||||
example_EXTERNAL_OBJECTS =
|
||||
|
||||
example: CMakeFiles/example.dir/test/example.c.o
|
||||
example: CMakeFiles/example.dir/build.make
|
||||
example: libisocline.a
|
||||
example: CMakeFiles/example.dir/link.txt
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/hyung-hwan/projects/isocline/bld/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable example"
|
||||
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/example.dir/link.txt --verbose=$(VERBOSE)
|
||||
|
||||
# Rule to build all files generated by this target.
|
||||
CMakeFiles/example.dir/build: example
|
||||
.PHONY : CMakeFiles/example.dir/build
|
||||
|
||||
CMakeFiles/example.dir/clean:
|
||||
$(CMAKE_COMMAND) -P CMakeFiles/example.dir/cmake_clean.cmake
|
||||
.PHONY : CMakeFiles/example.dir/clean
|
||||
|
||||
CMakeFiles/example.dir/depend:
|
||||
cd /home/hyung-hwan/projects/isocline/bld && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/hyung-hwan/projects/isocline /home/hyung-hwan/projects/isocline /home/hyung-hwan/projects/isocline/bld /home/hyung-hwan/projects/isocline/bld /home/hyung-hwan/projects/isocline/bld/CMakeFiles/example.dir/DependInfo.cmake "--color=$(COLOR)"
|
||||
.PHONY : CMakeFiles/example.dir/depend
|
||||
|
11
bin/isocline/bld/CMakeFiles/example.dir/cmake_clean.cmake
Normal file
11
bin/isocline/bld/CMakeFiles/example.dir/cmake_clean.cmake
Normal file
@ -0,0 +1,11 @@
|
||||
file(REMOVE_RECURSE
|
||||
"CMakeFiles/example.dir/test/example.c.o"
|
||||
"CMakeFiles/example.dir/test/example.c.o.d"
|
||||
"example"
|
||||
"example.pdb"
|
||||
)
|
||||
|
||||
# Per-language clean rules from dependency scanning.
|
||||
foreach(lang C)
|
||||
include(CMakeFiles/example.dir/cmake_clean_${lang}.cmake OPTIONAL)
|
||||
endforeach()
|
@ -0,0 +1,76 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
CMakeFiles/example.dir/test/example.c.o
|
||||
/home/hyung-hwan/projects/isocline/test/example.c
|
||||
/home/hyung-hwan/projects/isocline/include/isocline.h
|
||||
/usr/include/alloca.h
|
||||
/usr/include/assert.h
|
||||
/usr/include/bits/atomic_wide_counter.h
|
||||
/usr/include/bits/byteswap.h
|
||||
/usr/include/bits/endian.h
|
||||
/usr/include/bits/endianness.h
|
||||
/usr/include/bits/floatn-common.h
|
||||
/usr/include/bits/floatn.h
|
||||
/usr/include/bits/libc-header-start.h
|
||||
/usr/include/bits/locale.h
|
||||
/usr/include/bits/long-double.h
|
||||
/usr/include/bits/pthreadtypes-arch.h
|
||||
/usr/include/bits/pthreadtypes.h
|
||||
/usr/include/bits/select.h
|
||||
/usr/include/bits/stdint-intn.h
|
||||
/usr/include/bits/stdint-least.h
|
||||
/usr/include/bits/stdint-uintn.h
|
||||
/usr/include/bits/stdio.h
|
||||
/usr/include/bits/stdio_lim.h
|
||||
/usr/include/bits/stdlib-bsearch.h
|
||||
/usr/include/bits/stdlib-float.h
|
||||
/usr/include/bits/struct_mutex.h
|
||||
/usr/include/bits/struct_rwlock.h
|
||||
/usr/include/bits/thread-shared-types.h
|
||||
/usr/include/bits/time64.h
|
||||
/usr/include/bits/timesize.h
|
||||
/usr/include/bits/types.h
|
||||
/usr/include/bits/types/FILE.h
|
||||
/usr/include/bits/types/__FILE.h
|
||||
/usr/include/bits/types/__fpos64_t.h
|
||||
/usr/include/bits/types/__fpos_t.h
|
||||
/usr/include/bits/types/__locale_t.h
|
||||
/usr/include/bits/types/__mbstate_t.h
|
||||
/usr/include/bits/types/__sigset_t.h
|
||||
/usr/include/bits/types/clock_t.h
|
||||
/usr/include/bits/types/clockid_t.h
|
||||
/usr/include/bits/types/cookie_io_functions_t.h
|
||||
/usr/include/bits/types/locale_t.h
|
||||
/usr/include/bits/types/sigset_t.h
|
||||
/usr/include/bits/types/struct_FILE.h
|
||||
/usr/include/bits/types/struct_timespec.h
|
||||
/usr/include/bits/types/struct_timeval.h
|
||||
/usr/include/bits/types/time_t.h
|
||||
/usr/include/bits/types/timer_t.h
|
||||
/usr/include/bits/typesizes.h
|
||||
/usr/include/bits/uintn-identity.h
|
||||
/usr/include/bits/waitflags.h
|
||||
/usr/include/bits/waitstatus.h
|
||||
/usr/include/bits/wchar.h
|
||||
/usr/include/bits/wordsize.h
|
||||
/usr/include/endian.h
|
||||
/usr/include/features-time64.h
|
||||
/usr/include/features.h
|
||||
/usr/include/gnu/stubs-64.h
|
||||
/usr/include/gnu/stubs.h
|
||||
/usr/include/locale.h
|
||||
/usr/include/stdc-predef.h
|
||||
/usr/include/stdint.h
|
||||
/usr/include/stdio.h
|
||||
/usr/include/stdlib.h
|
||||
/usr/include/string.h
|
||||
/usr/include/strings.h
|
||||
/usr/include/sys/cdefs.h
|
||||
/usr/include/sys/select.h
|
||||
/usr/include/sys/types.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h
|
||||
|
217
bin/isocline/bld/CMakeFiles/example.dir/compiler_depend.make
Normal file
217
bin/isocline/bld/CMakeFiles/example.dir/compiler_depend.make
Normal file
@ -0,0 +1,217 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
CMakeFiles/example.dir/test/example.c.o: /home/hyung-hwan/projects/isocline/test/example.c \
|
||||
/home/hyung-hwan/projects/isocline/include/isocline.h \
|
||||
/usr/include/alloca.h \
|
||||
/usr/include/assert.h \
|
||||
/usr/include/bits/atomic_wide_counter.h \
|
||||
/usr/include/bits/byteswap.h \
|
||||
/usr/include/bits/endian.h \
|
||||
/usr/include/bits/endianness.h \
|
||||
/usr/include/bits/floatn-common.h \
|
||||
/usr/include/bits/floatn.h \
|
||||
/usr/include/bits/libc-header-start.h \
|
||||
/usr/include/bits/locale.h \
|
||||
/usr/include/bits/long-double.h \
|
||||
/usr/include/bits/pthreadtypes-arch.h \
|
||||
/usr/include/bits/pthreadtypes.h \
|
||||
/usr/include/bits/select.h \
|
||||
/usr/include/bits/stdint-intn.h \
|
||||
/usr/include/bits/stdint-least.h \
|
||||
/usr/include/bits/stdint-uintn.h \
|
||||
/usr/include/bits/stdio.h \
|
||||
/usr/include/bits/stdio_lim.h \
|
||||
/usr/include/bits/stdlib-bsearch.h \
|
||||
/usr/include/bits/stdlib-float.h \
|
||||
/usr/include/bits/struct_mutex.h \
|
||||
/usr/include/bits/struct_rwlock.h \
|
||||
/usr/include/bits/thread-shared-types.h \
|
||||
/usr/include/bits/time64.h \
|
||||
/usr/include/bits/timesize.h \
|
||||
/usr/include/bits/types.h \
|
||||
/usr/include/bits/types/FILE.h \
|
||||
/usr/include/bits/types/__FILE.h \
|
||||
/usr/include/bits/types/__fpos64_t.h \
|
||||
/usr/include/bits/types/__fpos_t.h \
|
||||
/usr/include/bits/types/__locale_t.h \
|
||||
/usr/include/bits/types/__mbstate_t.h \
|
||||
/usr/include/bits/types/__sigset_t.h \
|
||||
/usr/include/bits/types/clock_t.h \
|
||||
/usr/include/bits/types/clockid_t.h \
|
||||
/usr/include/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/bits/types/locale_t.h \
|
||||
/usr/include/bits/types/sigset_t.h \
|
||||
/usr/include/bits/types/struct_FILE.h \
|
||||
/usr/include/bits/types/struct_timespec.h \
|
||||
/usr/include/bits/types/struct_timeval.h \
|
||||
/usr/include/bits/types/time_t.h \
|
||||
/usr/include/bits/types/timer_t.h \
|
||||
/usr/include/bits/typesizes.h \
|
||||
/usr/include/bits/uintn-identity.h \
|
||||
/usr/include/bits/waitflags.h \
|
||||
/usr/include/bits/waitstatus.h \
|
||||
/usr/include/bits/wchar.h \
|
||||
/usr/include/bits/wordsize.h \
|
||||
/usr/include/endian.h \
|
||||
/usr/include/features-time64.h \
|
||||
/usr/include/features.h \
|
||||
/usr/include/gnu/stubs-64.h \
|
||||
/usr/include/gnu/stubs.h \
|
||||
/usr/include/locale.h \
|
||||
/usr/include/stdc-predef.h \
|
||||
/usr/include/stdint.h \
|
||||
/usr/include/stdio.h \
|
||||
/usr/include/stdlib.h \
|
||||
/usr/include/string.h \
|
||||
/usr/include/strings.h \
|
||||
/usr/include/sys/cdefs.h \
|
||||
/usr/include/sys/select.h \
|
||||
/usr/include/sys/types.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h
|
||||
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h:
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h:
|
||||
|
||||
/usr/include/sys/types.h:
|
||||
|
||||
/usr/include/sys/select.h:
|
||||
|
||||
/usr/include/sys/cdefs.h:
|
||||
|
||||
/usr/include/stdlib.h:
|
||||
|
||||
/usr/include/stdint.h:
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h:
|
||||
|
||||
/usr/include/string.h:
|
||||
|
||||
/usr/include/bits/time64.h:
|
||||
|
||||
/usr/include/bits/byteswap.h:
|
||||
|
||||
/usr/include/bits/types.h:
|
||||
|
||||
/usr/include/bits/stdlib-bsearch.h:
|
||||
|
||||
/usr/include/bits/types/sigset_t.h:
|
||||
|
||||
/usr/include/bits/thread-shared-types.h:
|
||||
|
||||
/usr/include/bits/wchar.h:
|
||||
|
||||
/usr/include/bits/stdio.h:
|
||||
|
||||
/usr/include/features.h:
|
||||
|
||||
/usr/include/bits/stdint-least.h:
|
||||
|
||||
/usr/include/alloca.h:
|
||||
|
||||
/usr/include/bits/stdint-intn.h:
|
||||
|
||||
/usr/include/bits/struct_mutex.h:
|
||||
|
||||
/usr/include/gnu/stubs-64.h:
|
||||
|
||||
/usr/include/bits/select.h:
|
||||
|
||||
/usr/include/bits/types/__fpos64_t.h:
|
||||
|
||||
/usr/include/features-time64.h:
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h:
|
||||
|
||||
/usr/include/stdc-predef.h:
|
||||
|
||||
/usr/include/bits/pthreadtypes-arch.h:
|
||||
|
||||
/usr/include/strings.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/test/example.c:
|
||||
|
||||
/usr/include/bits/struct_rwlock.h:
|
||||
|
||||
/usr/include/bits/types/time_t.h:
|
||||
|
||||
/usr/include/bits/libc-header-start.h:
|
||||
|
||||
/usr/include/assert.h:
|
||||
|
||||
/usr/include/bits/locale.h:
|
||||
|
||||
/usr/include/bits/timesize.h:
|
||||
|
||||
/usr/include/bits/endian.h:
|
||||
|
||||
/usr/include/bits/types/__sigset_t.h:
|
||||
|
||||
/usr/include/bits/waitflags.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/include/isocline.h:
|
||||
|
||||
/usr/include/bits/endianness.h:
|
||||
|
||||
/usr/include/bits/floatn-common.h:
|
||||
|
||||
/usr/include/bits/long-double.h:
|
||||
|
||||
/usr/include/bits/pthreadtypes.h:
|
||||
|
||||
/usr/include/bits/floatn.h:
|
||||
|
||||
/usr/include/bits/types/FILE.h:
|
||||
|
||||
/usr/include/bits/stdlib-float.h:
|
||||
|
||||
/usr/include/bits/types/__FILE.h:
|
||||
|
||||
/usr/include/bits/types/__fpos_t.h:
|
||||
|
||||
/usr/include/bits/wordsize.h:
|
||||
|
||||
/usr/include/bits/types/__locale_t.h:
|
||||
|
||||
/usr/include/bits/types/__mbstate_t.h:
|
||||
|
||||
/usr/include/bits/types/clock_t.h:
|
||||
|
||||
/usr/include/bits/atomic_wide_counter.h:
|
||||
|
||||
/usr/include/bits/types/clockid_t.h:
|
||||
|
||||
/usr/include/bits/uintn-identity.h:
|
||||
|
||||
/usr/include/bits/typesizes.h:
|
||||
|
||||
/usr/include/bits/types/locale_t.h:
|
||||
|
||||
/usr/include/bits/types/struct_FILE.h:
|
||||
|
||||
/usr/include/bits/types/struct_timespec.h:
|
||||
|
||||
/usr/include/bits/stdio_lim.h:
|
||||
|
||||
/usr/include/bits/types/struct_timeval.h:
|
||||
|
||||
/usr/include/stdio.h:
|
||||
|
||||
/usr/include/bits/types/timer_t.h:
|
||||
|
||||
/usr/include/bits/stdint-uintn.h:
|
||||
|
||||
/usr/include/bits/types/cookie_io_functions_t.h:
|
||||
|
||||
/usr/include/endian.h:
|
||||
|
||||
/usr/include/bits/waitstatus.h:
|
||||
|
||||
/usr/include/locale.h:
|
||||
|
||||
/usr/include/gnu/stubs.h:
|
@ -0,0 +1,2 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Timestamp file for compiler generated dependencies management for example.
|
2
bin/isocline/bld/CMakeFiles/example.dir/depend.make
Normal file
2
bin/isocline/bld/CMakeFiles/example.dir/depend.make
Normal file
@ -0,0 +1,2 @@
|
||||
# Empty dependencies file for example.
|
||||
# This may be replaced when dependencies are built.
|
10
bin/isocline/bld/CMakeFiles/example.dir/flags.make
Normal file
10
bin/isocline/bld/CMakeFiles/example.dir/flags.make
Normal file
@ -0,0 +1,10 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
# compile C with /usr/bin/cc
|
||||
C_DEFINES =
|
||||
|
||||
C_INCLUDES = -I/home/hyung-hwan/projects/isocline/include
|
||||
|
||||
C_FLAGS = -O3 -DNDEBUG -std=gnu99 -Wall -Wextra -Wpedantic -Wno-unknown-pragmas -Wno-unused-function -Wno-padded -Wno-missing-field-initializers -Wsign-conversion -Wno-missing-braces -Wint-conversion
|
||||
|
1
bin/isocline/bld/CMakeFiles/example.dir/link.txt
Normal file
1
bin/isocline/bld/CMakeFiles/example.dir/link.txt
Normal file
@ -0,0 +1 @@
|
||||
/usr/bin/cc -O3 -DNDEBUG CMakeFiles/example.dir/test/example.c.o -o example libisocline.a
|
3
bin/isocline/bld/CMakeFiles/example.dir/progress.make
Normal file
3
bin/isocline/bld/CMakeFiles/example.dir/progress.make
Normal file
@ -0,0 +1,3 @@
|
||||
CMAKE_PROGRESS_1 = 1
|
||||
CMAKE_PROGRESS_2 = 2
|
||||
|
BIN
bin/isocline/bld/CMakeFiles/example.dir/test/example.c.o
Normal file
BIN
bin/isocline/bld/CMakeFiles/example.dir/test/example.c.o
Normal file
Binary file not shown.
42
bin/isocline/bld/CMakeFiles/example.dir/test/example.c.o.d
Normal file
42
bin/isocline/bld/CMakeFiles/example.dir/test/example.c.o.d
Normal file
@ -0,0 +1,42 @@
|
||||
CMakeFiles/example.dir/test/example.c.o: \
|
||||
/home/hyung-hwan/projects/isocline/test/example.c \
|
||||
/usr/include/stdc-predef.h /usr/include/assert.h /usr/include/features.h \
|
||||
/usr/include/features-time64.h /usr/include/bits/wordsize.h \
|
||||
/usr/include/bits/timesize.h /usr/include/sys/cdefs.h \
|
||||
/usr/include/bits/long-double.h /usr/include/gnu/stubs.h \
|
||||
/usr/include/gnu/stubs-64.h /usr/include/stdio.h \
|
||||
/usr/include/bits/libc-header-start.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h \
|
||||
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
|
||||
/usr/include/bits/time64.h /usr/include/bits/types/__fpos_t.h \
|
||||
/usr/include/bits/types/__mbstate_t.h \
|
||||
/usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \
|
||||
/usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \
|
||||
/usr/include/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/bits/stdio_lim.h /usr/include/bits/floatn.h \
|
||||
/usr/include/bits/floatn-common.h /usr/include/bits/stdio.h \
|
||||
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
|
||||
/usr/include/bits/waitstatus.h /usr/include/sys/types.h \
|
||||
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
|
||||
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
|
||||
/usr/include/bits/stdint-intn.h /usr/include/endian.h \
|
||||
/usr/include/bits/endian.h /usr/include/bits/endianness.h \
|
||||
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
|
||||
/usr/include/sys/select.h /usr/include/bits/select.h \
|
||||
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
|
||||
/usr/include/bits/types/struct_timeval.h \
|
||||
/usr/include/bits/types/struct_timespec.h \
|
||||
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
|
||||
/usr/include/bits/pthreadtypes-arch.h \
|
||||
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
|
||||
/usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
|
||||
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
|
||||
/usr/include/string.h /usr/include/bits/types/locale_t.h \
|
||||
/usr/include/bits/types/__locale_t.h /usr/include/strings.h \
|
||||
/usr/include/locale.h /usr/include/bits/locale.h \
|
||||
/home/hyung-hwan/projects/isocline/include/isocline.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h \
|
||||
/usr/include/stdint.h /usr/include/bits/wchar.h \
|
||||
/usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h
|
23
bin/isocline/bld/CMakeFiles/isocline.dir/DependInfo.cmake
Normal file
23
bin/isocline/bld/CMakeFiles/isocline.dir/DependInfo.cmake
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
# Consider dependencies only in project.
|
||||
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
|
||||
|
||||
# The set of languages for which implicit dependencies are needed:
|
||||
set(CMAKE_DEPENDS_LANGUAGES
|
||||
)
|
||||
|
||||
# The set of dependency files which are needed:
|
||||
set(CMAKE_DEPENDS_DEPENDENCY_FILES
|
||||
"/home/hyung-hwan/projects/isocline/src/isocline.c" "CMakeFiles/isocline.dir/src/isocline.c.o" "gcc" "CMakeFiles/isocline.dir/src/isocline.c.o.d"
|
||||
)
|
||||
|
||||
# Targets to which this target links which contain Fortran sources.
|
||||
set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
|
||||
)
|
||||
|
||||
# Targets to which this target links which contain Fortran sources.
|
||||
set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES
|
||||
)
|
||||
|
||||
# Fortran module output directory.
|
||||
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
|
111
bin/isocline/bld/CMakeFiles/isocline.dir/build.make
Normal file
111
bin/isocline/bld/CMakeFiles/isocline.dir/build.make
Normal file
@ -0,0 +1,111 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
# Delete rule output on recipe failure.
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/hyung-hwan/projects/isocline
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/hyung-hwan/projects/isocline/bld
|
||||
|
||||
# Include any dependencies generated for this target.
|
||||
include CMakeFiles/isocline.dir/depend.make
|
||||
# Include any dependencies generated by the compiler for this target.
|
||||
include CMakeFiles/isocline.dir/compiler_depend.make
|
||||
|
||||
# Include the progress variables for this target.
|
||||
include CMakeFiles/isocline.dir/progress.make
|
||||
|
||||
# Include the compile flags for this target's objects.
|
||||
include CMakeFiles/isocline.dir/flags.make
|
||||
|
||||
CMakeFiles/isocline.dir/src/isocline.c.o: CMakeFiles/isocline.dir/flags.make
|
||||
CMakeFiles/isocline.dir/src/isocline.c.o: /home/hyung-hwan/projects/isocline/src/isocline.c
|
||||
CMakeFiles/isocline.dir/src/isocline.c.o: CMakeFiles/isocline.dir/compiler_depend.ts
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/hyung-hwan/projects/isocline/bld/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/isocline.dir/src/isocline.c.o"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/isocline.dir/src/isocline.c.o -MF CMakeFiles/isocline.dir/src/isocline.c.o.d -o CMakeFiles/isocline.dir/src/isocline.c.o -c /home/hyung-hwan/projects/isocline/src/isocline.c
|
||||
|
||||
CMakeFiles/isocline.dir/src/isocline.c.i: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/isocline.dir/src/isocline.c.i"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/hyung-hwan/projects/isocline/src/isocline.c > CMakeFiles/isocline.dir/src/isocline.c.i
|
||||
|
||||
CMakeFiles/isocline.dir/src/isocline.c.s: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/isocline.dir/src/isocline.c.s"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/hyung-hwan/projects/isocline/src/isocline.c -o CMakeFiles/isocline.dir/src/isocline.c.s
|
||||
|
||||
# Object files for target isocline
|
||||
isocline_OBJECTS = \
|
||||
"CMakeFiles/isocline.dir/src/isocline.c.o"
|
||||
|
||||
# External object files for target isocline
|
||||
isocline_EXTERNAL_OBJECTS =
|
||||
|
||||
libisocline.a: CMakeFiles/isocline.dir/src/isocline.c.o
|
||||
libisocline.a: CMakeFiles/isocline.dir/build.make
|
||||
libisocline.a: CMakeFiles/isocline.dir/link.txt
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/hyung-hwan/projects/isocline/bld/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C static library libisocline.a"
|
||||
$(CMAKE_COMMAND) -P CMakeFiles/isocline.dir/cmake_clean_target.cmake
|
||||
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/isocline.dir/link.txt --verbose=$(VERBOSE)
|
||||
|
||||
# Rule to build all files generated by this target.
|
||||
CMakeFiles/isocline.dir/build: libisocline.a
|
||||
.PHONY : CMakeFiles/isocline.dir/build
|
||||
|
||||
CMakeFiles/isocline.dir/clean:
|
||||
$(CMAKE_COMMAND) -P CMakeFiles/isocline.dir/cmake_clean.cmake
|
||||
.PHONY : CMakeFiles/isocline.dir/clean
|
||||
|
||||
CMakeFiles/isocline.dir/depend:
|
||||
cd /home/hyung-hwan/projects/isocline/bld && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/hyung-hwan/projects/isocline /home/hyung-hwan/projects/isocline /home/hyung-hwan/projects/isocline/bld /home/hyung-hwan/projects/isocline/bld /home/hyung-hwan/projects/isocline/bld/CMakeFiles/isocline.dir/DependInfo.cmake "--color=$(COLOR)"
|
||||
.PHONY : CMakeFiles/isocline.dir/depend
|
||||
|
11
bin/isocline/bld/CMakeFiles/isocline.dir/cmake_clean.cmake
Normal file
11
bin/isocline/bld/CMakeFiles/isocline.dir/cmake_clean.cmake
Normal file
@ -0,0 +1,11 @@
|
||||
file(REMOVE_RECURSE
|
||||
"CMakeFiles/isocline.dir/src/isocline.c.o"
|
||||
"CMakeFiles/isocline.dir/src/isocline.c.o.d"
|
||||
"libisocline.a"
|
||||
"libisocline.pdb"
|
||||
)
|
||||
|
||||
# Per-language clean rules from dependency scanning.
|
||||
foreach(lang C)
|
||||
include(CMakeFiles/isocline.dir/cmake_clean_${lang}.cmake OPTIONAL)
|
||||
endforeach()
|
@ -0,0 +1,3 @@
|
||||
file(REMOVE_RECURSE
|
||||
"libisocline.a"
|
||||
)
|
@ -0,0 +1,190 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
CMakeFiles/isocline.dir/src/isocline.c.o
|
||||
/home/hyung-hwan/projects/isocline/src/isocline.c
|
||||
/home/hyung-hwan/projects/isocline/include/isocline.h
|
||||
/home/hyung-hwan/projects/isocline/src/attr.c
|
||||
/home/hyung-hwan/projects/isocline/src/attr.h
|
||||
/home/hyung-hwan/projects/isocline/src/bbcode.c
|
||||
/home/hyung-hwan/projects/isocline/src/bbcode.h
|
||||
/home/hyung-hwan/projects/isocline/src/bbcode_colors.c
|
||||
/home/hyung-hwan/projects/isocline/src/common.c
|
||||
/home/hyung-hwan/projects/isocline/src/common.h
|
||||
/home/hyung-hwan/projects/isocline/src/completers.c
|
||||
/home/hyung-hwan/projects/isocline/src/completions.c
|
||||
/home/hyung-hwan/projects/isocline/src/completions.h
|
||||
/home/hyung-hwan/projects/isocline/src/editline.c
|
||||
/home/hyung-hwan/projects/isocline/src/editline_completion.c
|
||||
/home/hyung-hwan/projects/isocline/src/editline_help.c
|
||||
/home/hyung-hwan/projects/isocline/src/editline_history.c
|
||||
/home/hyung-hwan/projects/isocline/src/env.h
|
||||
/home/hyung-hwan/projects/isocline/src/highlight.c
|
||||
/home/hyung-hwan/projects/isocline/src/highlight.h
|
||||
/home/hyung-hwan/projects/isocline/src/history.c
|
||||
/home/hyung-hwan/projects/isocline/src/history.h
|
||||
/home/hyung-hwan/projects/isocline/src/stringbuf.c
|
||||
/home/hyung-hwan/projects/isocline/src/stringbuf.h
|
||||
/home/hyung-hwan/projects/isocline/src/term.c
|
||||
/home/hyung-hwan/projects/isocline/src/term.h
|
||||
/home/hyung-hwan/projects/isocline/src/term_color.c
|
||||
/home/hyung-hwan/projects/isocline/src/tty.c
|
||||
/home/hyung-hwan/projects/isocline/src/tty.h
|
||||
/home/hyung-hwan/projects/isocline/src/tty_esc.c
|
||||
/home/hyung-hwan/projects/isocline/src/undo.c
|
||||
/home/hyung-hwan/projects/isocline/src/undo.h
|
||||
/home/hyung-hwan/projects/isocline/src/wcwidth.c
|
||||
/usr/include/alloca.h
|
||||
/usr/include/asm-generic/bitsperlong.h
|
||||
/usr/include/asm-generic/errno-base.h
|
||||
/usr/include/asm-generic/errno.h
|
||||
/usr/include/asm-generic/int-ll64.h
|
||||
/usr/include/asm-generic/ioctl.h
|
||||
/usr/include/asm-generic/ioctls.h
|
||||
/usr/include/asm-generic/posix_types.h
|
||||
/usr/include/asm-generic/types.h
|
||||
/usr/include/asm/bitsperlong.h
|
||||
/usr/include/asm/errno.h
|
||||
/usr/include/asm/ioctl.h
|
||||
/usr/include/asm/ioctls.h
|
||||
/usr/include/asm/posix_types.h
|
||||
/usr/include/asm/posix_types_64.h
|
||||
/usr/include/asm/types.h
|
||||
/usr/include/assert.h
|
||||
/usr/include/bits/atomic_wide_counter.h
|
||||
/usr/include/bits/byteswap.h
|
||||
/usr/include/bits/confname.h
|
||||
/usr/include/bits/dirent.h
|
||||
/usr/include/bits/dirent_ext.h
|
||||
/usr/include/bits/endian.h
|
||||
/usr/include/bits/endianness.h
|
||||
/usr/include/bits/environments.h
|
||||
/usr/include/bits/errno.h
|
||||
/usr/include/bits/floatn-common.h
|
||||
/usr/include/bits/floatn.h
|
||||
/usr/include/bits/getopt_core.h
|
||||
/usr/include/bits/getopt_posix.h
|
||||
/usr/include/bits/ioctl-types.h
|
||||
/usr/include/bits/ioctls.h
|
||||
/usr/include/bits/libc-header-start.h
|
||||
/usr/include/bits/local_lim.h
|
||||
/usr/include/bits/locale.h
|
||||
/usr/include/bits/long-double.h
|
||||
/usr/include/bits/posix1_lim.h
|
||||
/usr/include/bits/posix2_lim.h
|
||||
/usr/include/bits/posix_opt.h
|
||||
/usr/include/bits/pthread_stack_min-dynamic.h
|
||||
/usr/include/bits/pthread_stack_min.h
|
||||
/usr/include/bits/pthreadtypes-arch.h
|
||||
/usr/include/bits/pthreadtypes.h
|
||||
/usr/include/bits/select.h
|
||||
/usr/include/bits/sigaction.h
|
||||
/usr/include/bits/sigcontext.h
|
||||
/usr/include/bits/sigevent-consts.h
|
||||
/usr/include/bits/siginfo-arch.h
|
||||
/usr/include/bits/siginfo-consts.h
|
||||
/usr/include/bits/signal_ext.h
|
||||
/usr/include/bits/signum-arch.h
|
||||
/usr/include/bits/signum-generic.h
|
||||
/usr/include/bits/sigstack.h
|
||||
/usr/include/bits/sigstksz.h
|
||||
/usr/include/bits/sigthread.h
|
||||
/usr/include/bits/ss_flags.h
|
||||
/usr/include/bits/stat.h
|
||||
/usr/include/bits/stdint-intn.h
|
||||
/usr/include/bits/stdint-least.h
|
||||
/usr/include/bits/stdint-uintn.h
|
||||
/usr/include/bits/stdio.h
|
||||
/usr/include/bits/stdio_lim.h
|
||||
/usr/include/bits/stdlib-bsearch.h
|
||||
/usr/include/bits/stdlib-float.h
|
||||
/usr/include/bits/struct_mutex.h
|
||||
/usr/include/bits/struct_rwlock.h
|
||||
/usr/include/bits/struct_stat.h
|
||||
/usr/include/bits/termios-baud.h
|
||||
/usr/include/bits/termios-c_cc.h
|
||||
/usr/include/bits/termios-c_cflag.h
|
||||
/usr/include/bits/termios-c_iflag.h
|
||||
/usr/include/bits/termios-c_lflag.h
|
||||
/usr/include/bits/termios-c_oflag.h
|
||||
/usr/include/bits/termios-misc.h
|
||||
/usr/include/bits/termios-struct.h
|
||||
/usr/include/bits/termios-tcflow.h
|
||||
/usr/include/bits/termios.h
|
||||
/usr/include/bits/thread-shared-types.h
|
||||
/usr/include/bits/time64.h
|
||||
/usr/include/bits/timesize.h
|
||||
/usr/include/bits/types.h
|
||||
/usr/include/bits/types/FILE.h
|
||||
/usr/include/bits/types/__FILE.h
|
||||
/usr/include/bits/types/__fpos64_t.h
|
||||
/usr/include/bits/types/__fpos_t.h
|
||||
/usr/include/bits/types/__locale_t.h
|
||||
/usr/include/bits/types/__mbstate_t.h
|
||||
/usr/include/bits/types/__sigset_t.h
|
||||
/usr/include/bits/types/__sigval_t.h
|
||||
/usr/include/bits/types/clock_t.h
|
||||
/usr/include/bits/types/clockid_t.h
|
||||
/usr/include/bits/types/cookie_io_functions_t.h
|
||||
/usr/include/bits/types/locale_t.h
|
||||
/usr/include/bits/types/sig_atomic_t.h
|
||||
/usr/include/bits/types/sigevent_t.h
|
||||
/usr/include/bits/types/siginfo_t.h
|
||||
/usr/include/bits/types/sigset_t.h
|
||||
/usr/include/bits/types/sigval_t.h
|
||||
/usr/include/bits/types/stack_t.h
|
||||
/usr/include/bits/types/struct_FILE.h
|
||||
/usr/include/bits/types/struct_sigstack.h
|
||||
/usr/include/bits/types/struct_timespec.h
|
||||
/usr/include/bits/types/struct_timeval.h
|
||||
/usr/include/bits/types/time_t.h
|
||||
/usr/include/bits/types/timer_t.h
|
||||
/usr/include/bits/typesizes.h
|
||||
/usr/include/bits/uintn-identity.h
|
||||
/usr/include/bits/uio_lim.h
|
||||
/usr/include/bits/unistd_ext.h
|
||||
/usr/include/bits/waitflags.h
|
||||
/usr/include/bits/waitstatus.h
|
||||
/usr/include/bits/wchar.h
|
||||
/usr/include/bits/wordsize.h
|
||||
/usr/include/bits/xopen_lim.h
|
||||
/usr/include/dirent.h
|
||||
/usr/include/endian.h
|
||||
/usr/include/errno.h
|
||||
/usr/include/features-time64.h
|
||||
/usr/include/features.h
|
||||
/usr/include/gnu/stubs-64.h
|
||||
/usr/include/gnu/stubs.h
|
||||
/usr/include/inttypes.h
|
||||
/usr/include/limits.h
|
||||
/usr/include/linux/errno.h
|
||||
/usr/include/linux/ioctl.h
|
||||
/usr/include/linux/kd.h
|
||||
/usr/include/linux/limits.h
|
||||
/usr/include/linux/posix_types.h
|
||||
/usr/include/linux/stddef.h
|
||||
/usr/include/linux/types.h
|
||||
/usr/include/locale.h
|
||||
/usr/include/signal.h
|
||||
/usr/include/stdc-predef.h
|
||||
/usr/include/stdint.h
|
||||
/usr/include/stdio.h
|
||||
/usr/include/stdlib.h
|
||||
/usr/include/string.h
|
||||
/usr/include/strings.h
|
||||
/usr/include/sys/cdefs.h
|
||||
/usr/include/sys/ioctl.h
|
||||
/usr/include/sys/select.h
|
||||
/usr/include/sys/stat.h
|
||||
/usr/include/sys/ttydefaults.h
|
||||
/usr/include/sys/types.h
|
||||
/usr/include/sys/ucontext.h
|
||||
/usr/include/termios.h
|
||||
/usr/include/unistd.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/limits.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/syslimits.h
|
||||
|
559
bin/isocline/bld/CMakeFiles/isocline.dir/compiler_depend.make
Normal file
559
bin/isocline/bld/CMakeFiles/isocline.dir/compiler_depend.make
Normal file
@ -0,0 +1,559 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
CMakeFiles/isocline.dir/src/isocline.c.o: /home/hyung-hwan/projects/isocline/src/isocline.c \
|
||||
/home/hyung-hwan/projects/isocline/include/isocline.h \
|
||||
/home/hyung-hwan/projects/isocline/src/attr.c \
|
||||
/home/hyung-hwan/projects/isocline/src/attr.h \
|
||||
/home/hyung-hwan/projects/isocline/src/bbcode.c \
|
||||
/home/hyung-hwan/projects/isocline/src/bbcode.h \
|
||||
/home/hyung-hwan/projects/isocline/src/bbcode_colors.c \
|
||||
/home/hyung-hwan/projects/isocline/src/common.c \
|
||||
/home/hyung-hwan/projects/isocline/src/common.h \
|
||||
/home/hyung-hwan/projects/isocline/src/completers.c \
|
||||
/home/hyung-hwan/projects/isocline/src/completions.c \
|
||||
/home/hyung-hwan/projects/isocline/src/completions.h \
|
||||
/home/hyung-hwan/projects/isocline/src/editline.c \
|
||||
/home/hyung-hwan/projects/isocline/src/editline_completion.c \
|
||||
/home/hyung-hwan/projects/isocline/src/editline_help.c \
|
||||
/home/hyung-hwan/projects/isocline/src/editline_history.c \
|
||||
/home/hyung-hwan/projects/isocline/src/env.h \
|
||||
/home/hyung-hwan/projects/isocline/src/highlight.c \
|
||||
/home/hyung-hwan/projects/isocline/src/highlight.h \
|
||||
/home/hyung-hwan/projects/isocline/src/history.c \
|
||||
/home/hyung-hwan/projects/isocline/src/history.h \
|
||||
/home/hyung-hwan/projects/isocline/src/stringbuf.c \
|
||||
/home/hyung-hwan/projects/isocline/src/stringbuf.h \
|
||||
/home/hyung-hwan/projects/isocline/src/term.c \
|
||||
/home/hyung-hwan/projects/isocline/src/term.h \
|
||||
/home/hyung-hwan/projects/isocline/src/term_color.c \
|
||||
/home/hyung-hwan/projects/isocline/src/tty.c \
|
||||
/home/hyung-hwan/projects/isocline/src/tty.h \
|
||||
/home/hyung-hwan/projects/isocline/src/tty_esc.c \
|
||||
/home/hyung-hwan/projects/isocline/src/undo.c \
|
||||
/home/hyung-hwan/projects/isocline/src/undo.h \
|
||||
/home/hyung-hwan/projects/isocline/src/wcwidth.c \
|
||||
/usr/include/alloca.h \
|
||||
/usr/include/asm-generic/bitsperlong.h \
|
||||
/usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/asm-generic/errno.h \
|
||||
/usr/include/asm-generic/int-ll64.h \
|
||||
/usr/include/asm-generic/ioctl.h \
|
||||
/usr/include/asm-generic/ioctls.h \
|
||||
/usr/include/asm-generic/posix_types.h \
|
||||
/usr/include/asm-generic/types.h \
|
||||
/usr/include/asm/bitsperlong.h \
|
||||
/usr/include/asm/errno.h \
|
||||
/usr/include/asm/ioctl.h \
|
||||
/usr/include/asm/ioctls.h \
|
||||
/usr/include/asm/posix_types.h \
|
||||
/usr/include/asm/posix_types_64.h \
|
||||
/usr/include/asm/types.h \
|
||||
/usr/include/assert.h \
|
||||
/usr/include/bits/atomic_wide_counter.h \
|
||||
/usr/include/bits/byteswap.h \
|
||||
/usr/include/bits/confname.h \
|
||||
/usr/include/bits/dirent.h \
|
||||
/usr/include/bits/dirent_ext.h \
|
||||
/usr/include/bits/endian.h \
|
||||
/usr/include/bits/endianness.h \
|
||||
/usr/include/bits/environments.h \
|
||||
/usr/include/bits/errno.h \
|
||||
/usr/include/bits/floatn-common.h \
|
||||
/usr/include/bits/floatn.h \
|
||||
/usr/include/bits/getopt_core.h \
|
||||
/usr/include/bits/getopt_posix.h \
|
||||
/usr/include/bits/ioctl-types.h \
|
||||
/usr/include/bits/ioctls.h \
|
||||
/usr/include/bits/libc-header-start.h \
|
||||
/usr/include/bits/local_lim.h \
|
||||
/usr/include/bits/locale.h \
|
||||
/usr/include/bits/long-double.h \
|
||||
/usr/include/bits/posix1_lim.h \
|
||||
/usr/include/bits/posix2_lim.h \
|
||||
/usr/include/bits/posix_opt.h \
|
||||
/usr/include/bits/pthread_stack_min-dynamic.h \
|
||||
/usr/include/bits/pthread_stack_min.h \
|
||||
/usr/include/bits/pthreadtypes-arch.h \
|
||||
/usr/include/bits/pthreadtypes.h \
|
||||
/usr/include/bits/select.h \
|
||||
/usr/include/bits/sigaction.h \
|
||||
/usr/include/bits/sigcontext.h \
|
||||
/usr/include/bits/sigevent-consts.h \
|
||||
/usr/include/bits/siginfo-arch.h \
|
||||
/usr/include/bits/siginfo-consts.h \
|
||||
/usr/include/bits/signal_ext.h \
|
||||
/usr/include/bits/signum-arch.h \
|
||||
/usr/include/bits/signum-generic.h \
|
||||
/usr/include/bits/sigstack.h \
|
||||
/usr/include/bits/sigstksz.h \
|
||||
/usr/include/bits/sigthread.h \
|
||||
/usr/include/bits/ss_flags.h \
|
||||
/usr/include/bits/stat.h \
|
||||
/usr/include/bits/stdint-intn.h \
|
||||
/usr/include/bits/stdint-least.h \
|
||||
/usr/include/bits/stdint-uintn.h \
|
||||
/usr/include/bits/stdio.h \
|
||||
/usr/include/bits/stdio_lim.h \
|
||||
/usr/include/bits/stdlib-bsearch.h \
|
||||
/usr/include/bits/stdlib-float.h \
|
||||
/usr/include/bits/struct_mutex.h \
|
||||
/usr/include/bits/struct_rwlock.h \
|
||||
/usr/include/bits/struct_stat.h \
|
||||
/usr/include/bits/termios-baud.h \
|
||||
/usr/include/bits/termios-c_cc.h \
|
||||
/usr/include/bits/termios-c_cflag.h \
|
||||
/usr/include/bits/termios-c_iflag.h \
|
||||
/usr/include/bits/termios-c_lflag.h \
|
||||
/usr/include/bits/termios-c_oflag.h \
|
||||
/usr/include/bits/termios-misc.h \
|
||||
/usr/include/bits/termios-struct.h \
|
||||
/usr/include/bits/termios-tcflow.h \
|
||||
/usr/include/bits/termios.h \
|
||||
/usr/include/bits/thread-shared-types.h \
|
||||
/usr/include/bits/time64.h \
|
||||
/usr/include/bits/timesize.h \
|
||||
/usr/include/bits/types.h \
|
||||
/usr/include/bits/types/FILE.h \
|
||||
/usr/include/bits/types/__FILE.h \
|
||||
/usr/include/bits/types/__fpos64_t.h \
|
||||
/usr/include/bits/types/__fpos_t.h \
|
||||
/usr/include/bits/types/__locale_t.h \
|
||||
/usr/include/bits/types/__mbstate_t.h \
|
||||
/usr/include/bits/types/__sigset_t.h \
|
||||
/usr/include/bits/types/__sigval_t.h \
|
||||
/usr/include/bits/types/clock_t.h \
|
||||
/usr/include/bits/types/clockid_t.h \
|
||||
/usr/include/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/bits/types/locale_t.h \
|
||||
/usr/include/bits/types/sig_atomic_t.h \
|
||||
/usr/include/bits/types/sigevent_t.h \
|
||||
/usr/include/bits/types/siginfo_t.h \
|
||||
/usr/include/bits/types/sigset_t.h \
|
||||
/usr/include/bits/types/sigval_t.h \
|
||||
/usr/include/bits/types/stack_t.h \
|
||||
/usr/include/bits/types/struct_FILE.h \
|
||||
/usr/include/bits/types/struct_sigstack.h \
|
||||
/usr/include/bits/types/struct_timespec.h \
|
||||
/usr/include/bits/types/struct_timeval.h \
|
||||
/usr/include/bits/types/time_t.h \
|
||||
/usr/include/bits/types/timer_t.h \
|
||||
/usr/include/bits/typesizes.h \
|
||||
/usr/include/bits/uintn-identity.h \
|
||||
/usr/include/bits/uio_lim.h \
|
||||
/usr/include/bits/unistd_ext.h \
|
||||
/usr/include/bits/waitflags.h \
|
||||
/usr/include/bits/waitstatus.h \
|
||||
/usr/include/bits/wchar.h \
|
||||
/usr/include/bits/wordsize.h \
|
||||
/usr/include/bits/xopen_lim.h \
|
||||
/usr/include/dirent.h \
|
||||
/usr/include/endian.h \
|
||||
/usr/include/errno.h \
|
||||
/usr/include/features-time64.h \
|
||||
/usr/include/features.h \
|
||||
/usr/include/gnu/stubs-64.h \
|
||||
/usr/include/gnu/stubs.h \
|
||||
/usr/include/inttypes.h \
|
||||
/usr/include/limits.h \
|
||||
/usr/include/linux/errno.h \
|
||||
/usr/include/linux/ioctl.h \
|
||||
/usr/include/linux/kd.h \
|
||||
/usr/include/linux/limits.h \
|
||||
/usr/include/linux/posix_types.h \
|
||||
/usr/include/linux/stddef.h \
|
||||
/usr/include/linux/types.h \
|
||||
/usr/include/locale.h \
|
||||
/usr/include/signal.h \
|
||||
/usr/include/stdc-predef.h \
|
||||
/usr/include/stdint.h \
|
||||
/usr/include/stdio.h \
|
||||
/usr/include/stdlib.h \
|
||||
/usr/include/string.h \
|
||||
/usr/include/strings.h \
|
||||
/usr/include/sys/cdefs.h \
|
||||
/usr/include/sys/ioctl.h \
|
||||
/usr/include/sys/select.h \
|
||||
/usr/include/sys/stat.h \
|
||||
/usr/include/sys/ttydefaults.h \
|
||||
/usr/include/sys/types.h \
|
||||
/usr/include/sys/ucontext.h \
|
||||
/usr/include/termios.h \
|
||||
/usr/include/unistd.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/limits.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/syslimits.h
|
||||
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h:
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h:
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/limits.h:
|
||||
|
||||
/usr/include/unistd.h:
|
||||
|
||||
/usr/include/termios.h:
|
||||
|
||||
/usr/include/sys/types.h:
|
||||
|
||||
/usr/include/sys/select.h:
|
||||
|
||||
/usr/include/sys/cdefs.h:
|
||||
|
||||
/usr/include/strings.h:
|
||||
|
||||
/usr/include/string.h:
|
||||
|
||||
/usr/include/stdlib.h:
|
||||
|
||||
/usr/include/stdio.h:
|
||||
|
||||
/usr/include/signal.h:
|
||||
|
||||
/usr/include/linux/posix_types.h:
|
||||
|
||||
/usr/include/stdint.h:
|
||||
|
||||
/usr/include/linux/limits.h:
|
||||
|
||||
/usr/include/linux/types.h:
|
||||
|
||||
/usr/include/linux/ioctl.h:
|
||||
|
||||
/usr/include/linux/errno.h:
|
||||
|
||||
/usr/include/limits.h:
|
||||
|
||||
/usr/include/inttypes.h:
|
||||
|
||||
/usr/include/gnu/stubs-64.h:
|
||||
|
||||
/usr/include/features-time64.h:
|
||||
|
||||
/usr/include/endian.h:
|
||||
|
||||
/usr/include/dirent.h:
|
||||
|
||||
/usr/include/bits/xopen_lim.h:
|
||||
|
||||
/usr/include/bits/wordsize.h:
|
||||
|
||||
/usr/include/bits/waitflags.h:
|
||||
|
||||
/usr/include/bits/unistd_ext.h:
|
||||
|
||||
/usr/include/bits/uio_lim.h:
|
||||
|
||||
/usr/include/bits/uintn-identity.h:
|
||||
|
||||
/usr/include/bits/types/timer_t.h:
|
||||
|
||||
/usr/include/bits/types/struct_timeval.h:
|
||||
|
||||
/usr/include/bits/types/struct_sigstack.h:
|
||||
|
||||
/usr/include/bits/types/sigval_t.h:
|
||||
|
||||
/usr/include/bits/types/sigset_t.h:
|
||||
|
||||
/usr/include/bits/environments.h:
|
||||
|
||||
/usr/include/bits/dirent_ext.h:
|
||||
|
||||
/usr/include/bits/dirent.h:
|
||||
|
||||
/usr/include/bits/byteswap.h:
|
||||
|
||||
/usr/include/bits/confname.h:
|
||||
|
||||
/usr/include/bits/errno.h:
|
||||
|
||||
/usr/include/bits/types/clockid_t.h:
|
||||
|
||||
/usr/include/asm/types.h:
|
||||
|
||||
/usr/include/asm/posix_types.h:
|
||||
|
||||
/usr/include/asm/posix_types_64.h:
|
||||
|
||||
/usr/include/sys/stat.h:
|
||||
|
||||
/usr/include/bits/types/struct_FILE.h:
|
||||
|
||||
/usr/include/bits/ss_flags.h:
|
||||
|
||||
/usr/include/assert.h:
|
||||
|
||||
/usr/include/bits/stat.h:
|
||||
|
||||
/usr/include/asm/bitsperlong.h:
|
||||
|
||||
/usr/include/bits/sigcontext.h:
|
||||
|
||||
/usr/include/asm/ioctl.h:
|
||||
|
||||
/usr/include/asm-generic/errno.h:
|
||||
|
||||
/usr/include/bits/types/siginfo_t.h:
|
||||
|
||||
/usr/include/asm-generic/ioctl.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/undo.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/attr.c:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/editline_help.c:
|
||||
|
||||
/usr/include/bits/wchar.h:
|
||||
|
||||
/usr/include/asm-generic/bitsperlong.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/stringbuf.c:
|
||||
|
||||
/usr/include/sys/ioctl.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/bbcode_colors.c:
|
||||
|
||||
/usr/include/bits/types/FILE.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/completions.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/common.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/include/isocline.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/env.h:
|
||||
|
||||
/usr/include/asm/errno.h:
|
||||
|
||||
/usr/include/bits/endian.h:
|
||||
|
||||
/usr/include/bits/waitstatus.h:
|
||||
|
||||
/usr/include/bits/timesize.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/history.c:
|
||||
|
||||
/usr/include/bits/types/__sigval_t.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/completers.c:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/bbcode.h:
|
||||
|
||||
/usr/include/bits/stdlib-bsearch.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/common.c:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/attr.h:
|
||||
|
||||
/usr/include/alloca.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/editline_history.c:
|
||||
|
||||
/usr/include/asm-generic/ioctls.h:
|
||||
|
||||
/usr/include/bits/termios-c_cflag.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/bbcode.c:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/editline.c:
|
||||
|
||||
/usr/include/bits/types/sigevent_t.h:
|
||||
|
||||
/usr/include/linux/kd.h:
|
||||
|
||||
/usr/include/bits/floatn-common.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/tty_esc.c:
|
||||
|
||||
/usr/include/sys/ucontext.h:
|
||||
|
||||
/usr/include/bits/signal_ext.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/highlight.c:
|
||||
|
||||
/usr/include/asm-generic/int-ll64.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/highlight.h:
|
||||
|
||||
/usr/include/asm-generic/errno-base.h:
|
||||
|
||||
/usr/include/asm-generic/types.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/completions.c:
|
||||
|
||||
/usr/include/bits/stdint-uintn.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/wcwidth.c:
|
||||
|
||||
/usr/include/bits/types/cookie_io_functions_t.h:
|
||||
|
||||
/usr/include/errno.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/history.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/stringbuf.h:
|
||||
|
||||
/usr/include/stdc-predef.h:
|
||||
|
||||
/usr/include/asm-generic/posix_types.h:
|
||||
|
||||
/usr/include/bits/types/__sigset_t.h:
|
||||
|
||||
/usr/include/bits/sigstksz.h:
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/syslimits.h:
|
||||
|
||||
/usr/include/bits/stdint-intn.h:
|
||||
|
||||
/usr/include/features.h:
|
||||
|
||||
/usr/include/bits/endianness.h:
|
||||
|
||||
/usr/include/asm/ioctls.h:
|
||||
|
||||
/usr/include/bits/types/struct_timespec.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/term.h:
|
||||
|
||||
/usr/include/bits/types/__locale_t.h:
|
||||
|
||||
/usr/include/linux/stddef.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/isocline.c:
|
||||
|
||||
/usr/include/bits/sigthread.h:
|
||||
|
||||
/usr/include/bits/pthread_stack_min.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/term_color.c:
|
||||
|
||||
/usr/include/bits/pthread_stack_min-dynamic.h:
|
||||
|
||||
/usr/include/bits/termios-baud.h:
|
||||
|
||||
/usr/include/bits/floatn.h:
|
||||
|
||||
/usr/include/bits/siginfo-arch.h:
|
||||
|
||||
/usr/include/bits/types.h:
|
||||
|
||||
/usr/include/bits/getopt_posix.h:
|
||||
|
||||
/usr/include/locale.h:
|
||||
|
||||
/usr/include/bits/ioctl-types.h:
|
||||
|
||||
/usr/include/bits/thread-shared-types.h:
|
||||
|
||||
/usr/include/bits/libc-header-start.h:
|
||||
|
||||
/usr/include/bits/siginfo-consts.h:
|
||||
|
||||
/usr/include/bits/local_lim.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/editline_completion.c:
|
||||
|
||||
/usr/include/bits/stdio_lim.h:
|
||||
|
||||
/usr/include/bits/types/__mbstate_t.h:
|
||||
|
||||
/usr/include/bits/locale.h:
|
||||
|
||||
/usr/include/bits/long-double.h:
|
||||
|
||||
/usr/include/bits/atomic_wide_counter.h:
|
||||
|
||||
/usr/include/bits/posix_opt.h:
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h:
|
||||
|
||||
/usr/include/gnu/stubs.h:
|
||||
|
||||
/usr/include/bits/pthreadtypes-arch.h:
|
||||
|
||||
/usr/include/bits/pthreadtypes.h:
|
||||
|
||||
/usr/include/bits/select.h:
|
||||
|
||||
/usr/include/bits/sigaction.h:
|
||||
|
||||
/usr/include/bits/getopt_core.h:
|
||||
|
||||
/usr/include/bits/sigstack.h:
|
||||
|
||||
/usr/include/bits/termios-c_lflag.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/undo.c:
|
||||
|
||||
/usr/include/bits/termios-struct.h:
|
||||
|
||||
/usr/include/sys/ttydefaults.h:
|
||||
|
||||
/usr/include/bits/types/stack_t.h:
|
||||
|
||||
/usr/include/bits/posix2_lim.h:
|
||||
|
||||
/usr/include/bits/sigevent-consts.h:
|
||||
|
||||
/usr/include/bits/signum-arch.h:
|
||||
|
||||
/usr/include/bits/signum-generic.h:
|
||||
|
||||
/usr/include/bits/stdint-least.h:
|
||||
|
||||
/usr/include/bits/termios.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/tty.h:
|
||||
|
||||
/usr/include/bits/stdio.h:
|
||||
|
||||
/usr/include/bits/types/__FILE.h:
|
||||
|
||||
/usr/include/bits/struct_mutex.h:
|
||||
|
||||
/usr/include/bits/struct_rwlock.h:
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h:
|
||||
|
||||
/usr/include/bits/termios-c_cc.h:
|
||||
|
||||
/usr/include/bits/types/time_t.h:
|
||||
|
||||
/usr/include/bits/struct_stat.h:
|
||||
|
||||
/usr/include/bits/posix1_lim.h:
|
||||
|
||||
/usr/include/bits/termios-c_iflag.h:
|
||||
|
||||
/usr/include/bits/termios-c_oflag.h:
|
||||
|
||||
/usr/include/bits/termios-misc.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/term.c:
|
||||
|
||||
/usr/include/bits/termios-tcflow.h:
|
||||
|
||||
/usr/include/bits/stdlib-float.h:
|
||||
|
||||
/usr/include/bits/time64.h:
|
||||
|
||||
/usr/include/bits/types/__fpos64_t.h:
|
||||
|
||||
/usr/include/bits/ioctls.h:
|
||||
|
||||
/usr/include/bits/types/__fpos_t.h:
|
||||
|
||||
/usr/include/bits/types/clock_t.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/tty.c:
|
||||
|
||||
/usr/include/bits/types/locale_t.h:
|
||||
|
||||
/usr/include/bits/typesizes.h:
|
||||
|
||||
/usr/include/bits/types/sig_atomic_t.h:
|
@ -0,0 +1,2 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Timestamp file for compiler generated dependencies management for isocline.
|
2
bin/isocline/bld/CMakeFiles/isocline.dir/depend.make
Normal file
2
bin/isocline/bld/CMakeFiles/isocline.dir/depend.make
Normal file
@ -0,0 +1,2 @@
|
||||
# Empty dependencies file for isocline.
|
||||
# This may be replaced when dependencies are built.
|
10
bin/isocline/bld/CMakeFiles/isocline.dir/flags.make
Normal file
10
bin/isocline/bld/CMakeFiles/isocline.dir/flags.make
Normal file
@ -0,0 +1,10 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
# compile C with /usr/bin/cc
|
||||
C_DEFINES =
|
||||
|
||||
C_INCLUDES = -I/home/hyung-hwan/projects/isocline/include
|
||||
|
||||
C_FLAGS = -O3 -DNDEBUG -std=gnu99 -fPIC -Wall -Wextra -Wpedantic -Wno-unknown-pragmas -Wno-unused-function -Wno-padded -Wno-missing-field-initializers -Wsign-conversion -Wno-missing-braces -Wint-conversion
|
||||
|
2
bin/isocline/bld/CMakeFiles/isocline.dir/link.txt
Normal file
2
bin/isocline/bld/CMakeFiles/isocline.dir/link.txt
Normal file
@ -0,0 +1,2 @@
|
||||
/usr/bin/ar qc libisocline.a CMakeFiles/isocline.dir/src/isocline.c.o
|
||||
/usr/bin/ranlib libisocline.a
|
3
bin/isocline/bld/CMakeFiles/isocline.dir/progress.make
Normal file
3
bin/isocline/bld/CMakeFiles/isocline.dir/progress.make
Normal file
@ -0,0 +1,3 @@
|
||||
CMAKE_PROGRESS_1 = 3
|
||||
CMAKE_PROGRESS_2 = 4
|
||||
|
BIN
bin/isocline/bld/CMakeFiles/isocline.dir/src/isocline.c.o
Normal file
BIN
bin/isocline/bld/CMakeFiles/isocline.dir/src/isocline.c.o
Normal file
Binary file not shown.
114
bin/isocline/bld/CMakeFiles/isocline.dir/src/isocline.c.o.d
Normal file
114
bin/isocline/bld/CMakeFiles/isocline.dir/src/isocline.c.o.d
Normal file
@ -0,0 +1,114 @@
|
||||
CMakeFiles/isocline.dir/src/isocline.c.o: \
|
||||
/home/hyung-hwan/projects/isocline/src/isocline.c \
|
||||
/usr/include/stdc-predef.h /home/hyung-hwan/projects/isocline/src/attr.c \
|
||||
/usr/include/string.h /usr/include/bits/libc-header-start.h \
|
||||
/usr/include/features.h /usr/include/features-time64.h \
|
||||
/usr/include/bits/wordsize.h /usr/include/bits/timesize.h \
|
||||
/usr/include/sys/cdefs.h /usr/include/bits/long-double.h \
|
||||
/usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h \
|
||||
/usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \
|
||||
/usr/include/strings.h /home/hyung-hwan/projects/isocline/src/common.h \
|
||||
/usr/include/sys/types.h /usr/include/bits/types.h \
|
||||
/usr/include/bits/typesizes.h /usr/include/bits/time64.h \
|
||||
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
|
||||
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
|
||||
/usr/include/bits/stdint-intn.h /usr/include/endian.h \
|
||||
/usr/include/bits/endian.h /usr/include/bits/endianness.h \
|
||||
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
|
||||
/usr/include/sys/select.h /usr/include/bits/select.h \
|
||||
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
|
||||
/usr/include/bits/types/struct_timeval.h \
|
||||
/usr/include/bits/types/struct_timespec.h \
|
||||
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
|
||||
/usr/include/bits/pthreadtypes-arch.h \
|
||||
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
|
||||
/usr/include/bits/struct_rwlock.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/limits.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/syslimits.h \
|
||||
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
|
||||
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
|
||||
/usr/include/bits/pthread_stack_min-dynamic.h \
|
||||
/usr/include/bits/pthread_stack_min.h /usr/include/bits/posix2_lim.h \
|
||||
/usr/include/bits/xopen_lim.h /usr/include/bits/uio_lim.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h \
|
||||
/usr/include/stdint.h /usr/include/bits/wchar.h \
|
||||
/usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h \
|
||||
/usr/include/assert.h \
|
||||
/home/hyung-hwan/projects/isocline/src/../include/isocline.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h \
|
||||
/home/hyung-hwan/projects/isocline/src/stringbuf.h \
|
||||
/home/hyung-hwan/projects/isocline/src/attr.h \
|
||||
/home/hyung-hwan/projects/isocline/src/term.h \
|
||||
/home/hyung-hwan/projects/isocline/src/tty.h \
|
||||
/home/hyung-hwan/projects/isocline/src/bbcode.c /usr/include/stdio.h \
|
||||
/usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \
|
||||
/usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \
|
||||
/usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \
|
||||
/usr/include/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/bits/stdio_lim.h /usr/include/bits/floatn.h \
|
||||
/usr/include/bits/floatn-common.h /usr/include/bits/stdio.h \
|
||||
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
|
||||
/usr/include/bits/waitstatus.h /usr/include/alloca.h \
|
||||
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
|
||||
/home/hyung-hwan/projects/isocline/src/bbcode.h \
|
||||
/home/hyung-hwan/projects/isocline/src/bbcode_colors.c \
|
||||
/home/hyung-hwan/projects/isocline/src/editline.c \
|
||||
/home/hyung-hwan/projects/isocline/src/env.h \
|
||||
/home/hyung-hwan/projects/isocline/src/history.h \
|
||||
/home/hyung-hwan/projects/isocline/src/completions.h \
|
||||
/home/hyung-hwan/projects/isocline/src/undo.h \
|
||||
/home/hyung-hwan/projects/isocline/src/highlight.h \
|
||||
/home/hyung-hwan/projects/isocline/src/editline_help.c \
|
||||
/home/hyung-hwan/projects/isocline/src/editline_history.c \
|
||||
/home/hyung-hwan/projects/isocline/src/editline_completion.c \
|
||||
/home/hyung-hwan/projects/isocline/src/highlight.c \
|
||||
/home/hyung-hwan/projects/isocline/src/undo.c \
|
||||
/home/hyung-hwan/projects/isocline/src/history.c /usr/include/sys/stat.h \
|
||||
/usr/include/bits/stat.h /usr/include/bits/struct_stat.h \
|
||||
/home/hyung-hwan/projects/isocline/src/completers.c \
|
||||
/usr/include/dirent.h /usr/include/bits/dirent.h \
|
||||
/usr/include/bits/dirent_ext.h /usr/include/errno.h \
|
||||
/usr/include/bits/errno.h /usr/include/linux/errno.h \
|
||||
/usr/include/asm/errno.h /usr/include/asm-generic/errno.h \
|
||||
/usr/include/asm-generic/errno-base.h \
|
||||
/home/hyung-hwan/projects/isocline/src/completions.c \
|
||||
/home/hyung-hwan/projects/isocline/src/term.c /usr/include/inttypes.h \
|
||||
/usr/include/unistd.h /usr/include/bits/posix_opt.h \
|
||||
/usr/include/bits/environments.h /usr/include/bits/confname.h \
|
||||
/usr/include/bits/getopt_posix.h /usr/include/bits/getopt_core.h \
|
||||
/usr/include/bits/unistd_ext.h /usr/include/sys/ioctl.h \
|
||||
/usr/include/bits/ioctls.h /usr/include/asm/ioctls.h \
|
||||
/usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \
|
||||
/usr/include/asm/ioctl.h /usr/include/asm-generic/ioctl.h \
|
||||
/usr/include/bits/ioctl-types.h /usr/include/sys/ttydefaults.h \
|
||||
/usr/include/linux/kd.h /usr/include/linux/types.h \
|
||||
/usr/include/asm/types.h /usr/include/asm-generic/types.h \
|
||||
/usr/include/asm-generic/int-ll64.h /usr/include/asm/bitsperlong.h \
|
||||
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
|
||||
/usr/include/linux/stddef.h /usr/include/asm/posix_types.h \
|
||||
/usr/include/asm/posix_types_64.h /usr/include/asm-generic/posix_types.h \
|
||||
/home/hyung-hwan/projects/isocline/src/term_color.c \
|
||||
/home/hyung-hwan/projects/isocline/src/tty_esc.c \
|
||||
/home/hyung-hwan/projects/isocline/src/tty.c /usr/include/locale.h \
|
||||
/usr/include/bits/locale.h /usr/include/signal.h \
|
||||
/usr/include/bits/signum-generic.h /usr/include/bits/signum-arch.h \
|
||||
/usr/include/bits/types/sig_atomic_t.h \
|
||||
/usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \
|
||||
/usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \
|
||||
/usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \
|
||||
/usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \
|
||||
/usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \
|
||||
/usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \
|
||||
/usr/include/bits/sigstksz.h /usr/include/bits/ss_flags.h \
|
||||
/usr/include/bits/types/struct_sigstack.h /usr/include/bits/sigthread.h \
|
||||
/usr/include/bits/signal_ext.h /usr/include/termios.h \
|
||||
/usr/include/bits/termios.h /usr/include/bits/termios-struct.h \
|
||||
/usr/include/bits/termios-c_cc.h /usr/include/bits/termios-c_iflag.h \
|
||||
/usr/include/bits/termios-c_oflag.h /usr/include/bits/termios-baud.h \
|
||||
/usr/include/bits/termios-c_cflag.h /usr/include/bits/termios-c_lflag.h \
|
||||
/usr/include/bits/termios-tcflow.h /usr/include/bits/termios-misc.h \
|
||||
/home/hyung-hwan/projects/isocline/src/stringbuf.c \
|
||||
/home/hyung-hwan/projects/isocline/src/wcwidth.c \
|
||||
/home/hyung-hwan/projects/isocline/src/common.c
|
1
bin/isocline/bld/CMakeFiles/progress.marks
Normal file
1
bin/isocline/bld/CMakeFiles/progress.marks
Normal file
@ -0,0 +1 @@
|
||||
6
|
23
bin/isocline/bld/CMakeFiles/test_colors.dir/DependInfo.cmake
Normal file
23
bin/isocline/bld/CMakeFiles/test_colors.dir/DependInfo.cmake
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
# Consider dependencies only in project.
|
||||
set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF)
|
||||
|
||||
# The set of languages for which implicit dependencies are needed:
|
||||
set(CMAKE_DEPENDS_LANGUAGES
|
||||
)
|
||||
|
||||
# The set of dependency files which are needed:
|
||||
set(CMAKE_DEPENDS_DEPENDENCY_FILES
|
||||
"/home/hyung-hwan/projects/isocline/test/test_colors.c" "CMakeFiles/test_colors.dir/test/test_colors.c.o" "gcc" "CMakeFiles/test_colors.dir/test/test_colors.c.o.d"
|
||||
)
|
||||
|
||||
# Targets to which this target links which contain Fortran sources.
|
||||
set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
|
||||
)
|
||||
|
||||
# Targets to which this target links which contain Fortran sources.
|
||||
set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES
|
||||
)
|
||||
|
||||
# Fortran module output directory.
|
||||
set(CMAKE_Fortran_TARGET_MODULE_DIR "")
|
111
bin/isocline/bld/CMakeFiles/test_colors.dir/build.make
Normal file
111
bin/isocline/bld/CMakeFiles/test_colors.dir/build.make
Normal file
@ -0,0 +1,111 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
# Delete rule output on recipe failure.
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/hyung-hwan/projects/isocline
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/hyung-hwan/projects/isocline/bld
|
||||
|
||||
# Include any dependencies generated for this target.
|
||||
include CMakeFiles/test_colors.dir/depend.make
|
||||
# Include any dependencies generated by the compiler for this target.
|
||||
include CMakeFiles/test_colors.dir/compiler_depend.make
|
||||
|
||||
# Include the progress variables for this target.
|
||||
include CMakeFiles/test_colors.dir/progress.make
|
||||
|
||||
# Include the compile flags for this target's objects.
|
||||
include CMakeFiles/test_colors.dir/flags.make
|
||||
|
||||
CMakeFiles/test_colors.dir/test/test_colors.c.o: CMakeFiles/test_colors.dir/flags.make
|
||||
CMakeFiles/test_colors.dir/test/test_colors.c.o: /home/hyung-hwan/projects/isocline/test/test_colors.c
|
||||
CMakeFiles/test_colors.dir/test/test_colors.c.o: CMakeFiles/test_colors.dir/compiler_depend.ts
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/hyung-hwan/projects/isocline/bld/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/test_colors.dir/test/test_colors.c.o"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/test_colors.dir/test/test_colors.c.o -MF CMakeFiles/test_colors.dir/test/test_colors.c.o.d -o CMakeFiles/test_colors.dir/test/test_colors.c.o -c /home/hyung-hwan/projects/isocline/test/test_colors.c
|
||||
|
||||
CMakeFiles/test_colors.dir/test/test_colors.c.i: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/test_colors.dir/test/test_colors.c.i"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/hyung-hwan/projects/isocline/test/test_colors.c > CMakeFiles/test_colors.dir/test/test_colors.c.i
|
||||
|
||||
CMakeFiles/test_colors.dir/test/test_colors.c.s: cmake_force
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/test_colors.dir/test/test_colors.c.s"
|
||||
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/hyung-hwan/projects/isocline/test/test_colors.c -o CMakeFiles/test_colors.dir/test/test_colors.c.s
|
||||
|
||||
# Object files for target test_colors
|
||||
test_colors_OBJECTS = \
|
||||
"CMakeFiles/test_colors.dir/test/test_colors.c.o"
|
||||
|
||||
# External object files for target test_colors
|
||||
test_colors_EXTERNAL_OBJECTS =
|
||||
|
||||
test_colors: CMakeFiles/test_colors.dir/test/test_colors.c.o
|
||||
test_colors: CMakeFiles/test_colors.dir/build.make
|
||||
test_colors: libisocline.a
|
||||
test_colors: CMakeFiles/test_colors.dir/link.txt
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/hyung-hwan/projects/isocline/bld/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable test_colors"
|
||||
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/test_colors.dir/link.txt --verbose=$(VERBOSE)
|
||||
|
||||
# Rule to build all files generated by this target.
|
||||
CMakeFiles/test_colors.dir/build: test_colors
|
||||
.PHONY : CMakeFiles/test_colors.dir/build
|
||||
|
||||
CMakeFiles/test_colors.dir/clean:
|
||||
$(CMAKE_COMMAND) -P CMakeFiles/test_colors.dir/cmake_clean.cmake
|
||||
.PHONY : CMakeFiles/test_colors.dir/clean
|
||||
|
||||
CMakeFiles/test_colors.dir/depend:
|
||||
cd /home/hyung-hwan/projects/isocline/bld && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/hyung-hwan/projects/isocline /home/hyung-hwan/projects/isocline /home/hyung-hwan/projects/isocline/bld /home/hyung-hwan/projects/isocline/bld /home/hyung-hwan/projects/isocline/bld/CMakeFiles/test_colors.dir/DependInfo.cmake "--color=$(COLOR)"
|
||||
.PHONY : CMakeFiles/test_colors.dir/depend
|
||||
|
@ -0,0 +1,11 @@
|
||||
file(REMOVE_RECURSE
|
||||
"CMakeFiles/test_colors.dir/test/test_colors.c.o"
|
||||
"CMakeFiles/test_colors.dir/test/test_colors.c.o.d"
|
||||
"test_colors"
|
||||
"test_colors.pdb"
|
||||
)
|
||||
|
||||
# Per-language clean rules from dependency scanning.
|
||||
foreach(lang C)
|
||||
include(CMakeFiles/test_colors.dir/cmake_clean_${lang}.cmake OPTIONAL)
|
||||
endforeach()
|
@ -0,0 +1,85 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
CMakeFiles/test_colors.dir/test/test_colors.c.o
|
||||
/home/hyung-hwan/projects/isocline/test/test_colors.c
|
||||
/home/hyung-hwan/projects/isocline/include/isocline.h
|
||||
/home/hyung-hwan/projects/isocline/src/bbcode_colors.c
|
||||
/home/hyung-hwan/projects/isocline/src/common.h
|
||||
/usr/include/alloca.h
|
||||
/usr/include/assert.h
|
||||
/usr/include/bits/atomic_wide_counter.h
|
||||
/usr/include/bits/byteswap.h
|
||||
/usr/include/bits/endian.h
|
||||
/usr/include/bits/endianness.h
|
||||
/usr/include/bits/floatn-common.h
|
||||
/usr/include/bits/floatn.h
|
||||
/usr/include/bits/libc-header-start.h
|
||||
/usr/include/bits/local_lim.h
|
||||
/usr/include/bits/long-double.h
|
||||
/usr/include/bits/posix1_lim.h
|
||||
/usr/include/bits/posix2_lim.h
|
||||
/usr/include/bits/pthread_stack_min-dynamic.h
|
||||
/usr/include/bits/pthread_stack_min.h
|
||||
/usr/include/bits/pthreadtypes-arch.h
|
||||
/usr/include/bits/pthreadtypes.h
|
||||
/usr/include/bits/select.h
|
||||
/usr/include/bits/stdint-intn.h
|
||||
/usr/include/bits/stdint-least.h
|
||||
/usr/include/bits/stdint-uintn.h
|
||||
/usr/include/bits/stdio.h
|
||||
/usr/include/bits/stdio_lim.h
|
||||
/usr/include/bits/stdlib-bsearch.h
|
||||
/usr/include/bits/stdlib-float.h
|
||||
/usr/include/bits/struct_mutex.h
|
||||
/usr/include/bits/struct_rwlock.h
|
||||
/usr/include/bits/thread-shared-types.h
|
||||
/usr/include/bits/time64.h
|
||||
/usr/include/bits/timesize.h
|
||||
/usr/include/bits/types.h
|
||||
/usr/include/bits/types/FILE.h
|
||||
/usr/include/bits/types/__FILE.h
|
||||
/usr/include/bits/types/__fpos64_t.h
|
||||
/usr/include/bits/types/__fpos_t.h
|
||||
/usr/include/bits/types/__locale_t.h
|
||||
/usr/include/bits/types/__mbstate_t.h
|
||||
/usr/include/bits/types/__sigset_t.h
|
||||
/usr/include/bits/types/clock_t.h
|
||||
/usr/include/bits/types/clockid_t.h
|
||||
/usr/include/bits/types/cookie_io_functions_t.h
|
||||
/usr/include/bits/types/locale_t.h
|
||||
/usr/include/bits/types/sigset_t.h
|
||||
/usr/include/bits/types/struct_FILE.h
|
||||
/usr/include/bits/types/struct_timespec.h
|
||||
/usr/include/bits/types/struct_timeval.h
|
||||
/usr/include/bits/types/time_t.h
|
||||
/usr/include/bits/types/timer_t.h
|
||||
/usr/include/bits/typesizes.h
|
||||
/usr/include/bits/uintn-identity.h
|
||||
/usr/include/bits/waitflags.h
|
||||
/usr/include/bits/waitstatus.h
|
||||
/usr/include/bits/wchar.h
|
||||
/usr/include/bits/wordsize.h
|
||||
/usr/include/endian.h
|
||||
/usr/include/features-time64.h
|
||||
/usr/include/features.h
|
||||
/usr/include/gnu/stubs-64.h
|
||||
/usr/include/gnu/stubs.h
|
||||
/usr/include/limits.h
|
||||
/usr/include/linux/limits.h
|
||||
/usr/include/stdc-predef.h
|
||||
/usr/include/stdint.h
|
||||
/usr/include/stdio.h
|
||||
/usr/include/stdlib.h
|
||||
/usr/include/string.h
|
||||
/usr/include/strings.h
|
||||
/usr/include/sys/cdefs.h
|
||||
/usr/include/sys/select.h
|
||||
/usr/include/sys/types.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/limits.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/syslimits.h
|
||||
|
244
bin/isocline/bld/CMakeFiles/test_colors.dir/compiler_depend.make
Normal file
244
bin/isocline/bld/CMakeFiles/test_colors.dir/compiler_depend.make
Normal file
@ -0,0 +1,244 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
CMakeFiles/test_colors.dir/test/test_colors.c.o: /home/hyung-hwan/projects/isocline/test/test_colors.c \
|
||||
/home/hyung-hwan/projects/isocline/include/isocline.h \
|
||||
/home/hyung-hwan/projects/isocline/src/bbcode_colors.c \
|
||||
/home/hyung-hwan/projects/isocline/src/common.h \
|
||||
/usr/include/alloca.h \
|
||||
/usr/include/assert.h \
|
||||
/usr/include/bits/atomic_wide_counter.h \
|
||||
/usr/include/bits/byteswap.h \
|
||||
/usr/include/bits/endian.h \
|
||||
/usr/include/bits/endianness.h \
|
||||
/usr/include/bits/floatn-common.h \
|
||||
/usr/include/bits/floatn.h \
|
||||
/usr/include/bits/libc-header-start.h \
|
||||
/usr/include/bits/local_lim.h \
|
||||
/usr/include/bits/long-double.h \
|
||||
/usr/include/bits/posix1_lim.h \
|
||||
/usr/include/bits/posix2_lim.h \
|
||||
/usr/include/bits/pthread_stack_min-dynamic.h \
|
||||
/usr/include/bits/pthread_stack_min.h \
|
||||
/usr/include/bits/pthreadtypes-arch.h \
|
||||
/usr/include/bits/pthreadtypes.h \
|
||||
/usr/include/bits/select.h \
|
||||
/usr/include/bits/stdint-intn.h \
|
||||
/usr/include/bits/stdint-least.h \
|
||||
/usr/include/bits/stdint-uintn.h \
|
||||
/usr/include/bits/stdio.h \
|
||||
/usr/include/bits/stdio_lim.h \
|
||||
/usr/include/bits/stdlib-bsearch.h \
|
||||
/usr/include/bits/stdlib-float.h \
|
||||
/usr/include/bits/struct_mutex.h \
|
||||
/usr/include/bits/struct_rwlock.h \
|
||||
/usr/include/bits/thread-shared-types.h \
|
||||
/usr/include/bits/time64.h \
|
||||
/usr/include/bits/timesize.h \
|
||||
/usr/include/bits/types.h \
|
||||
/usr/include/bits/types/FILE.h \
|
||||
/usr/include/bits/types/__FILE.h \
|
||||
/usr/include/bits/types/__fpos64_t.h \
|
||||
/usr/include/bits/types/__fpos_t.h \
|
||||
/usr/include/bits/types/__locale_t.h \
|
||||
/usr/include/bits/types/__mbstate_t.h \
|
||||
/usr/include/bits/types/__sigset_t.h \
|
||||
/usr/include/bits/types/clock_t.h \
|
||||
/usr/include/bits/types/clockid_t.h \
|
||||
/usr/include/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/bits/types/locale_t.h \
|
||||
/usr/include/bits/types/sigset_t.h \
|
||||
/usr/include/bits/types/struct_FILE.h \
|
||||
/usr/include/bits/types/struct_timespec.h \
|
||||
/usr/include/bits/types/struct_timeval.h \
|
||||
/usr/include/bits/types/time_t.h \
|
||||
/usr/include/bits/types/timer_t.h \
|
||||
/usr/include/bits/typesizes.h \
|
||||
/usr/include/bits/uintn-identity.h \
|
||||
/usr/include/bits/waitflags.h \
|
||||
/usr/include/bits/waitstatus.h \
|
||||
/usr/include/bits/wchar.h \
|
||||
/usr/include/bits/wordsize.h \
|
||||
/usr/include/endian.h \
|
||||
/usr/include/features-time64.h \
|
||||
/usr/include/features.h \
|
||||
/usr/include/gnu/stubs-64.h \
|
||||
/usr/include/gnu/stubs.h \
|
||||
/usr/include/limits.h \
|
||||
/usr/include/linux/limits.h \
|
||||
/usr/include/stdc-predef.h \
|
||||
/usr/include/stdint.h \
|
||||
/usr/include/stdio.h \
|
||||
/usr/include/stdlib.h \
|
||||
/usr/include/string.h \
|
||||
/usr/include/strings.h \
|
||||
/usr/include/sys/cdefs.h \
|
||||
/usr/include/sys/select.h \
|
||||
/usr/include/sys/types.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/limits.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/syslimits.h
|
||||
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h:
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h:
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/limits.h:
|
||||
|
||||
/usr/include/sys/types.h:
|
||||
|
||||
/usr/include/sys/select.h:
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/syslimits.h:
|
||||
|
||||
/usr/include/sys/cdefs.h:
|
||||
|
||||
/usr/include/strings.h:
|
||||
|
||||
/usr/include/stdlib.h:
|
||||
|
||||
/usr/include/stdint.h:
|
||||
|
||||
/usr/include/gnu/stubs.h:
|
||||
|
||||
/usr/include/gnu/stubs-64.h:
|
||||
|
||||
/usr/include/features.h:
|
||||
|
||||
/usr/include/features-time64.h:
|
||||
|
||||
/usr/include/bits/stdlib-bsearch.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/common.h:
|
||||
|
||||
/usr/include/bits/types/sigset_t.h:
|
||||
|
||||
/usr/include/bits/wchar.h:
|
||||
|
||||
/usr/include/bits/posix1_lim.h:
|
||||
|
||||
/usr/include/bits/stdint-intn.h:
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h:
|
||||
|
||||
/usr/include/stdc-predef.h:
|
||||
|
||||
/usr/include/bits/pthreadtypes-arch.h:
|
||||
|
||||
/usr/include/bits/pthread_stack_min-dynamic.h:
|
||||
|
||||
/usr/include/bits/stdint-least.h:
|
||||
|
||||
/usr/include/alloca.h:
|
||||
|
||||
/usr/include/bits/posix2_lim.h:
|
||||
|
||||
/usr/include/linux/limits.h:
|
||||
|
||||
/usr/include/bits/types/clock_t.h:
|
||||
|
||||
/usr/include/bits/long-double.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/test/test_colors.c:
|
||||
|
||||
/usr/include/bits/select.h:
|
||||
|
||||
/usr/include/bits/types/__fpos64_t.h:
|
||||
|
||||
/usr/include/bits/stdio.h:
|
||||
|
||||
/usr/include/bits/pthread_stack_min.h:
|
||||
|
||||
/usr/include/bits/libc-header-start.h:
|
||||
|
||||
/usr/include/assert.h:
|
||||
|
||||
/usr/include/bits/timesize.h:
|
||||
|
||||
/usr/include/bits/endian.h:
|
||||
|
||||
/usr/include/bits/types/__sigset_t.h:
|
||||
|
||||
/usr/include/bits/waitflags.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/include/isocline.h:
|
||||
|
||||
/usr/include/bits/byteswap.h:
|
||||
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h:
|
||||
|
||||
/usr/include/string.h:
|
||||
|
||||
/usr/include/bits/time64.h:
|
||||
|
||||
/usr/include/bits/endianness.h:
|
||||
|
||||
/usr/include/bits/floatn-common.h:
|
||||
|
||||
/usr/include/bits/pthreadtypes.h:
|
||||
|
||||
/usr/include/bits/floatn.h:
|
||||
|
||||
/usr/include/bits/struct_mutex.h:
|
||||
|
||||
/usr/include/bits/thread-shared-types.h:
|
||||
|
||||
/usr/include/bits/types.h:
|
||||
|
||||
/usr/include/limits.h:
|
||||
|
||||
/home/hyung-hwan/projects/isocline/src/bbcode_colors.c:
|
||||
|
||||
/usr/include/bits/types/FILE.h:
|
||||
|
||||
/usr/include/bits/stdlib-float.h:
|
||||
|
||||
/usr/include/bits/types/__FILE.h:
|
||||
|
||||
/usr/include/bits/types/__fpos_t.h:
|
||||
|
||||
/usr/include/bits/wordsize.h:
|
||||
|
||||
/usr/include/bits/types/__locale_t.h:
|
||||
|
||||
/usr/include/bits/local_lim.h:
|
||||
|
||||
/usr/include/bits/types/__mbstate_t.h:
|
||||
|
||||
/usr/include/bits/atomic_wide_counter.h:
|
||||
|
||||
/usr/include/bits/types/clockid_t.h:
|
||||
|
||||
/usr/include/bits/uintn-identity.h:
|
||||
|
||||
/usr/include/bits/typesizes.h:
|
||||
|
||||
/usr/include/bits/types/locale_t.h:
|
||||
|
||||
/usr/include/bits/types/struct_FILE.h:
|
||||
|
||||
/usr/include/bits/types/struct_timespec.h:
|
||||
|
||||
/usr/include/bits/stdio_lim.h:
|
||||
|
||||
/usr/include/bits/types/struct_timeval.h:
|
||||
|
||||
/usr/include/bits/struct_rwlock.h:
|
||||
|
||||
/usr/include/bits/types/time_t.h:
|
||||
|
||||
/usr/include/stdio.h:
|
||||
|
||||
/usr/include/bits/types/timer_t.h:
|
||||
|
||||
/usr/include/bits/stdint-uintn.h:
|
||||
|
||||
/usr/include/bits/types/cookie_io_functions_t.h:
|
||||
|
||||
/usr/include/endian.h:
|
||||
|
||||
/usr/include/bits/waitstatus.h:
|
@ -0,0 +1,2 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Timestamp file for compiler generated dependencies management for test_colors.
|
2
bin/isocline/bld/CMakeFiles/test_colors.dir/depend.make
Normal file
2
bin/isocline/bld/CMakeFiles/test_colors.dir/depend.make
Normal file
@ -0,0 +1,2 @@
|
||||
# Empty dependencies file for test_colors.
|
||||
# This may be replaced when dependencies are built.
|
10
bin/isocline/bld/CMakeFiles/test_colors.dir/flags.make
Normal file
10
bin/isocline/bld/CMakeFiles/test_colors.dir/flags.make
Normal file
@ -0,0 +1,10 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
# compile C with /usr/bin/cc
|
||||
C_DEFINES =
|
||||
|
||||
C_INCLUDES = -I/home/hyung-hwan/projects/isocline/include
|
||||
|
||||
C_FLAGS = -O3 -DNDEBUG -std=gnu99 -Wall -Wextra -Wpedantic -Wno-unknown-pragmas -Wno-unused-function -Wno-padded -Wno-missing-field-initializers -Wsign-conversion -Wno-missing-braces -Wint-conversion
|
||||
|
1
bin/isocline/bld/CMakeFiles/test_colors.dir/link.txt
Normal file
1
bin/isocline/bld/CMakeFiles/test_colors.dir/link.txt
Normal file
@ -0,0 +1 @@
|
||||
/usr/bin/cc -O3 -DNDEBUG CMakeFiles/test_colors.dir/test/test_colors.c.o -o test_colors libisocline.a
|
@ -0,0 +1,3 @@
|
||||
CMAKE_PROGRESS_1 = 5
|
||||
CMAKE_PROGRESS_2 = 6
|
||||
|
BIN
bin/isocline/bld/CMakeFiles/test_colors.dir/test/test_colors.c.o
Normal file
BIN
bin/isocline/bld/CMakeFiles/test_colors.dir/test/test_colors.c.o
Normal file
Binary file not shown.
@ -0,0 +1,49 @@
|
||||
CMakeFiles/test_colors.dir/test/test_colors.c.o: \
|
||||
/home/hyung-hwan/projects/isocline/test/test_colors.c \
|
||||
/usr/include/stdc-predef.h /usr/include/assert.h /usr/include/features.h \
|
||||
/usr/include/features-time64.h /usr/include/bits/wordsize.h \
|
||||
/usr/include/bits/timesize.h /usr/include/sys/cdefs.h \
|
||||
/usr/include/bits/long-double.h /usr/include/gnu/stubs.h \
|
||||
/usr/include/gnu/stubs-64.h /usr/include/stdio.h \
|
||||
/usr/include/bits/libc-header-start.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stddef.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdarg.h \
|
||||
/usr/include/bits/types.h /usr/include/bits/typesizes.h \
|
||||
/usr/include/bits/time64.h /usr/include/bits/types/__fpos_t.h \
|
||||
/usr/include/bits/types/__mbstate_t.h \
|
||||
/usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \
|
||||
/usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \
|
||||
/usr/include/bits/types/cookie_io_functions_t.h \
|
||||
/usr/include/bits/stdio_lim.h /usr/include/bits/floatn.h \
|
||||
/usr/include/bits/floatn-common.h /usr/include/bits/stdio.h \
|
||||
/usr/include/stdlib.h /usr/include/bits/waitflags.h \
|
||||
/usr/include/bits/waitstatus.h /usr/include/sys/types.h \
|
||||
/usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \
|
||||
/usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \
|
||||
/usr/include/bits/stdint-intn.h /usr/include/endian.h \
|
||||
/usr/include/bits/endian.h /usr/include/bits/endianness.h \
|
||||
/usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \
|
||||
/usr/include/sys/select.h /usr/include/bits/select.h \
|
||||
/usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \
|
||||
/usr/include/bits/types/struct_timeval.h \
|
||||
/usr/include/bits/types/struct_timespec.h \
|
||||
/usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \
|
||||
/usr/include/bits/pthreadtypes-arch.h \
|
||||
/usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \
|
||||
/usr/include/bits/struct_rwlock.h /usr/include/alloca.h \
|
||||
/usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \
|
||||
/usr/include/string.h /usr/include/bits/types/locale_t.h \
|
||||
/usr/include/bits/types/__locale_t.h /usr/include/strings.h \
|
||||
/home/hyung-hwan/projects/isocline/include/isocline.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdbool.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/stdint.h \
|
||||
/usr/include/stdint.h /usr/include/bits/wchar.h \
|
||||
/usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \
|
||||
/home/hyung-hwan/projects/isocline/test/../src/bbcode_colors.c \
|
||||
/home/hyung-hwan/projects/isocline/test/../src/common.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/limits.h \
|
||||
/usr/lib/gcc/x86_64-redhat-linux/14/include/syslimits.h \
|
||||
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
|
||||
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
|
||||
/usr/include/bits/pthread_stack_min-dynamic.h \
|
||||
/usr/include/bits/pthread_stack_min.h /usr/include/bits/posix2_lim.h
|
263
bin/isocline/bld/Makefile
Normal file
263
bin/isocline/bld/Makefile
Normal file
@ -0,0 +1,263 @@
|
||||
# CMAKE generated file: DO NOT EDIT!
|
||||
# Generated by "Unix Makefiles" Generator, CMake Version 3.28
|
||||
|
||||
# Default target executed when no arguments are given to make.
|
||||
default_target: all
|
||||
.PHONY : default_target
|
||||
|
||||
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
|
||||
.NOTPARALLEL:
|
||||
|
||||
#=============================================================================
|
||||
# Special targets provided by cmake.
|
||||
|
||||
# Disable implicit rules so canonical targets will work.
|
||||
.SUFFIXES:
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : %,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : RCS/%,v
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : SCCS/s.%
|
||||
|
||||
# Disable VCS-based implicit rules.
|
||||
% : s.%
|
||||
|
||||
.SUFFIXES: .hpux_make_needs_suffix_list
|
||||
|
||||
# Command-line flag to silence nested $(MAKE).
|
||||
$(VERBOSE)MAKESILENT = -s
|
||||
|
||||
#Suppress display of executed commands.
|
||||
$(VERBOSE).SILENT:
|
||||
|
||||
# A target that is always out of date.
|
||||
cmake_force:
|
||||
.PHONY : cmake_force
|
||||
|
||||
#=============================================================================
|
||||
# Set environment variables for the build.
|
||||
|
||||
# The shell in which to execute make rules.
|
||||
SHELL = /bin/sh
|
||||
|
||||
# The CMake executable.
|
||||
CMAKE_COMMAND = /usr/bin/cmake
|
||||
|
||||
# The command to remove a file.
|
||||
RM = /usr/bin/cmake -E rm -f
|
||||
|
||||
# Escaping for special characters.
|
||||
EQUALS = =
|
||||
|
||||
# The top-level source directory on which CMake was run.
|
||||
CMAKE_SOURCE_DIR = /home/hyung-hwan/projects/isocline
|
||||
|
||||
# The top-level build directory on which CMake was run.
|
||||
CMAKE_BINARY_DIR = /home/hyung-hwan/projects/isocline/bld
|
||||
|
||||
#=============================================================================
|
||||
# Targets provided globally by CMake.
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
|
||||
/usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : edit_cache
|
||||
|
||||
# Special rule for the target edit_cache
|
||||
edit_cache/fast: edit_cache
|
||||
.PHONY : edit_cache/fast
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache:
|
||||
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
|
||||
/usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
|
||||
.PHONY : rebuild_cache
|
||||
|
||||
# Special rule for the target rebuild_cache
|
||||
rebuild_cache/fast: rebuild_cache
|
||||
.PHONY : rebuild_cache/fast
|
||||
|
||||
# The main all target
|
||||
all: cmake_check_build_system
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/hyung-hwan/projects/isocline/bld/CMakeFiles /home/hyung-hwan/projects/isocline/bld//CMakeFiles/progress.marks
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
|
||||
$(CMAKE_COMMAND) -E cmake_progress_start /home/hyung-hwan/projects/isocline/bld/CMakeFiles 0
|
||||
.PHONY : all
|
||||
|
||||
# The main clean target
|
||||
clean:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean
|
||||
.PHONY : clean
|
||||
|
||||
# The main clean target
|
||||
clean/fast: clean
|
||||
.PHONY : clean/fast
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall: all
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall
|
||||
|
||||
# Prepare targets for installation.
|
||||
preinstall/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
|
||||
.PHONY : preinstall/fast
|
||||
|
||||
# clear depends
|
||||
depend:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
|
||||
.PHONY : depend
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named isocline
|
||||
|
||||
# Build rule for target.
|
||||
isocline: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 isocline
|
||||
.PHONY : isocline
|
||||
|
||||
# fast build rule for target.
|
||||
isocline/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/isocline.dir/build.make CMakeFiles/isocline.dir/build
|
||||
.PHONY : isocline/fast
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named example
|
||||
|
||||
# Build rule for target.
|
||||
example: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 example
|
||||
.PHONY : example
|
||||
|
||||
# fast build rule for target.
|
||||
example/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/example.dir/build.make CMakeFiles/example.dir/build
|
||||
.PHONY : example/fast
|
||||
|
||||
#=============================================================================
|
||||
# Target rules for targets named test_colors
|
||||
|
||||
# Build rule for target.
|
||||
test_colors: cmake_check_build_system
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test_colors
|
||||
.PHONY : test_colors
|
||||
|
||||
# fast build rule for target.
|
||||
test_colors/fast:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_colors.dir/build.make CMakeFiles/test_colors.dir/build
|
||||
.PHONY : test_colors/fast
|
||||
|
||||
src/isocline.o: src/isocline.c.o
|
||||
.PHONY : src/isocline.o
|
||||
|
||||
# target to build an object file
|
||||
src/isocline.c.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/isocline.dir/build.make CMakeFiles/isocline.dir/src/isocline.c.o
|
||||
.PHONY : src/isocline.c.o
|
||||
|
||||
src/isocline.i: src/isocline.c.i
|
||||
.PHONY : src/isocline.i
|
||||
|
||||
# target to preprocess a source file
|
||||
src/isocline.c.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/isocline.dir/build.make CMakeFiles/isocline.dir/src/isocline.c.i
|
||||
.PHONY : src/isocline.c.i
|
||||
|
||||
src/isocline.s: src/isocline.c.s
|
||||
.PHONY : src/isocline.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
src/isocline.c.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/isocline.dir/build.make CMakeFiles/isocline.dir/src/isocline.c.s
|
||||
.PHONY : src/isocline.c.s
|
||||
|
||||
test/example.o: test/example.c.o
|
||||
.PHONY : test/example.o
|
||||
|
||||
# target to build an object file
|
||||
test/example.c.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/example.dir/build.make CMakeFiles/example.dir/test/example.c.o
|
||||
.PHONY : test/example.c.o
|
||||
|
||||
test/example.i: test/example.c.i
|
||||
.PHONY : test/example.i
|
||||
|
||||
# target to preprocess a source file
|
||||
test/example.c.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/example.dir/build.make CMakeFiles/example.dir/test/example.c.i
|
||||
.PHONY : test/example.c.i
|
||||
|
||||
test/example.s: test/example.c.s
|
||||
.PHONY : test/example.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
test/example.c.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/example.dir/build.make CMakeFiles/example.dir/test/example.c.s
|
||||
.PHONY : test/example.c.s
|
||||
|
||||
test/test_colors.o: test/test_colors.c.o
|
||||
.PHONY : test/test_colors.o
|
||||
|
||||
# target to build an object file
|
||||
test/test_colors.c.o:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_colors.dir/build.make CMakeFiles/test_colors.dir/test/test_colors.c.o
|
||||
.PHONY : test/test_colors.c.o
|
||||
|
||||
test/test_colors.i: test/test_colors.c.i
|
||||
.PHONY : test/test_colors.i
|
||||
|
||||
# target to preprocess a source file
|
||||
test/test_colors.c.i:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_colors.dir/build.make CMakeFiles/test_colors.dir/test/test_colors.c.i
|
||||
.PHONY : test/test_colors.c.i
|
||||
|
||||
test/test_colors.s: test/test_colors.c.s
|
||||
.PHONY : test/test_colors.s
|
||||
|
||||
# target to generate assembly for a file
|
||||
test/test_colors.c.s:
|
||||
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_colors.dir/build.make CMakeFiles/test_colors.dir/test/test_colors.c.s
|
||||
.PHONY : test/test_colors.c.s
|
||||
|
||||
# Help Target
|
||||
help:
|
||||
@echo "The following are some of the valid targets for this Makefile:"
|
||||
@echo "... all (the default if no target is provided)"
|
||||
@echo "... clean"
|
||||
@echo "... depend"
|
||||
@echo "... edit_cache"
|
||||
@echo "... rebuild_cache"
|
||||
@echo "... example"
|
||||
@echo "... isocline"
|
||||
@echo "... test_colors"
|
||||
@echo "... src/isocline.o"
|
||||
@echo "... src/isocline.i"
|
||||
@echo "... src/isocline.s"
|
||||
@echo "... test/example.o"
|
||||
@echo "... test/example.i"
|
||||
@echo "... test/example.s"
|
||||
@echo "... test/test_colors.o"
|
||||
@echo "... test/test_colors.i"
|
||||
@echo "... test/test_colors.s"
|
||||
.PHONY : help
|
||||
|
||||
|
||||
|
||||
#=============================================================================
|
||||
# Special targets to cleanup operation of make.
|
||||
|
||||
# Special rule to run CMake to check the build system integrity.
|
||||
# No rule that depends on this can have commands that come from listfiles
|
||||
# because they might be regenerated.
|
||||
cmake_check_build_system:
|
||||
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
|
||||
.PHONY : cmake_check_build_system
|
||||
|
54
bin/isocline/bld/cmake_install.cmake
Normal file
54
bin/isocline/bld/cmake_install.cmake
Normal file
@ -0,0 +1,54 @@
|
||||
# Install script for directory: /home/hyung-hwan/projects/isocline
|
||||
|
||||
# Set the install prefix
|
||||
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
|
||||
set(CMAKE_INSTALL_PREFIX "/home/hyung-hwan/xxx")
|
||||
endif()
|
||||
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
||||
|
||||
# Set the install configuration name.
|
||||
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
|
||||
if(BUILD_TYPE)
|
||||
string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
|
||||
CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
|
||||
else()
|
||||
set(CMAKE_INSTALL_CONFIG_NAME "Release")
|
||||
endif()
|
||||
message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
|
||||
endif()
|
||||
|
||||
# Set the component getting installed.
|
||||
if(NOT CMAKE_INSTALL_COMPONENT)
|
||||
if(COMPONENT)
|
||||
message(STATUS "Install component: \"${COMPONENT}\"")
|
||||
set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
|
||||
else()
|
||||
set(CMAKE_INSTALL_COMPONENT)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Install shared libraries without execute permission?
|
||||
if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
|
||||
set(CMAKE_INSTALL_SO_NO_EXE "0")
|
||||
endif()
|
||||
|
||||
# Is this installation the result of a crosscompile?
|
||||
if(NOT DEFINED CMAKE_CROSSCOMPILING)
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
endif()
|
||||
|
||||
# Set default install directory permissions.
|
||||
if(NOT DEFINED CMAKE_OBJDUMP)
|
||||
set(CMAKE_OBJDUMP "/usr/bin/objdump")
|
||||
endif()
|
||||
|
||||
if(CMAKE_INSTALL_COMPONENT)
|
||||
set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
|
||||
else()
|
||||
set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
|
||||
endif()
|
||||
|
||||
string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
|
||||
"${CMAKE_INSTALL_MANIFEST_FILES}")
|
||||
file(WRITE "/home/hyung-hwan/projects/isocline/bld/${CMAKE_INSTALL_MANIFEST}"
|
||||
"${CMAKE_INSTALL_MANIFEST_CONTENT}")
|
BIN
bin/isocline/bld/example
Executable file
BIN
bin/isocline/bld/example
Executable file
Binary file not shown.
10
bin/isocline/bld/history.txt
Normal file
10
bin/isocline/bld/history.txt
Normal file
@ -0,0 +1,10 @@
|
||||
\xEC\x9D\xB5 \xEB\xAD\x90\xEB\x83\x90\xEA\xB3\xA0
|
||||
\xEC\x9D\xB5 \xEC\x9E\x98 \xEB\x90\x98\xEB\x84\xA4?\xEB\x83\x90\xEA\xB3\xA0
|
||||
bin/prnt
|
||||
?\nsadkfasjdkfs\nskdfjsd
|
||||
fun
|
||||
int
|
||||
quit
|
||||
exit
|
||||
{}
|
||||
abc \ndef
|
BIN
bin/isocline/bld/libisocline.a
Normal file
BIN
bin/isocline/bld/libisocline.a
Normal file
Binary file not shown.
BIN
bin/isocline/bld/test_colors
Executable file
BIN
bin/isocline/bld/test_colors
Executable file
Binary file not shown.
BIN
bin/isocline/doc/color/ansi-16color.png
Normal file
BIN
bin/isocline/doc/color/ansi-16color.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 36 KiB |
BIN
bin/isocline/doc/color/ansi-256color.png
Normal file
BIN
bin/isocline/doc/color/ansi-256color.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 84 KiB |
BIN
bin/isocline/doc/color/ansi-truecolor.png
Normal file
BIN
bin/isocline/doc/color/ansi-truecolor.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 140 KiB |
BIN
bin/isocline/doc/color/colorspace-map.png
Normal file
BIN
bin/isocline/doc/color/colorspace-map.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 126 KiB |
BIN
bin/isocline/doc/completion-macos.png
Normal file
BIN
bin/isocline/doc/completion-macos.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 44 KiB |
2659
bin/isocline/doc/doxyfile
Normal file
2659
bin/isocline/doc/doxyfile
Normal file
File diff suppressed because it is too large
Load Diff
49
bin/isocline/doc/isocline-doxygen.css
Normal file
49
bin/isocline/doc/isocline-doxygen.css
Normal file
@ -0,0 +1,49 @@
|
||||
#projectlogo img {
|
||||
padding: 1ex;
|
||||
}
|
||||
tt, code, kbd, samp, div.memproto, div.fragment, div.line, table.memname {
|
||||
font-family: Consolas, Monaco, Inconsolata, "Courier New", monospace;
|
||||
}
|
||||
.image img, .textblock img {
|
||||
max-width: 99%;
|
||||
max-height: 350px;
|
||||
}
|
||||
table.memname, .memname{
|
||||
font-weight: bold;
|
||||
}
|
||||
code {
|
||||
background-color: #EEE;
|
||||
padding: 0ex 0.25ex;
|
||||
}
|
||||
body {
|
||||
margin: 1ex 1ex 0ex 1ex;
|
||||
border: 1px solid black;
|
||||
}
|
||||
.contents table, .contents div, .contents p, .contents dl {
|
||||
font-size: 16px;
|
||||
line-height: 1.44;
|
||||
}
|
||||
body #nav-tree .label {
|
||||
font-size: 14px;
|
||||
}
|
||||
a{
|
||||
text-decoration: underline;
|
||||
}
|
||||
#side-nav {
|
||||
margin-left: 1ex;
|
||||
border-left: 1px solid black;
|
||||
}
|
||||
#nav-tree {
|
||||
padding-left: 1ex;
|
||||
}
|
||||
#nav-path {
|
||||
display: none;
|
||||
}
|
||||
div.fragment {
|
||||
background-color: #EEE;
|
||||
padding: 0.25ex 0.5ex;
|
||||
border-color: black;
|
||||
}
|
||||
#nav-sync img {
|
||||
display: none;
|
||||
}
|
376
bin/isocline/doc/isocline-inkscape.svg
Normal file
376
bin/isocline/doc/isocline-inkscape.svg
Normal file
@ -0,0 +1,376 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="512"
|
||||
height="512"
|
||||
viewBox="0 0 135.46667 135.46667"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.1 (c68e22c387, 2021-05-23)"
|
||||
sodipodi:docname="isocline-inkscape.svg"
|
||||
inkscape:export-filename="C:\Users\daan\dev\isocline\doc\isocline-1.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#505050"
|
||||
bordercolor="#eeeeee"
|
||||
borderopacity="1"
|
||||
inkscape:pageshadow="0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:document-units="px"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1.1490485"
|
||||
inkscape:cx="295.46185"
|
||||
inkscape:cy="267.17758"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1018"
|
||||
inkscape:window-x="-6"
|
||||
inkscape:window-y="-6"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs2">
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect8779"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect7056"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect6549"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect6220"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect6085"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect6015"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect4245"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<linearGradient
|
||||
id="linearGradient2470"
|
||||
inkscape:swatch="solid">
|
||||
<stop
|
||||
style="stop-color:#fffff9;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop2468" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lstart"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
transform="scale(0.8) translate(12.5,0)"
|
||||
style="fill-rule:evenodd;fill:context-stroke;stroke:context-stroke;stroke-width:1.0pt"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
id="path2151" />
|
||||
</marker>
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1182"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1178"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1174"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1170"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1166"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1162"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1158"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1102"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1098"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect1094"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
<inkscape:path-effect
|
||||
effect="bspline"
|
||||
id="path-effect886"
|
||||
is_visible="true"
|
||||
lpeversion="1"
|
||||
weight="33.333333"
|
||||
steps="2"
|
||||
helper_size="0"
|
||||
apply_no_weight="true"
|
||||
apply_with_weight="true"
|
||||
only_selected="false" />
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
style="fill:#217867;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m -10.008281,-10.927859 c -3.990942,5.5723469 -1.057507,13.1758494 -1.954742,19.6307117 0.248096,45.5932863 -0.582113,91.2306733 0.749601,136.7962673 1.3846838,5.1449 7.9983673,4.43841 10.83267219,0.91448 C 33.646577,120.17412 66.473474,91.423433 106.49606,74.951619 c 14.69316,-6.179614 30.81745,-9.228533 46.49737,-7.844466 26.00203,0.219238 49.48644,12.595965 70.71748,26.525003 35.70041,24.736124 65.15948,57.117944 100.10122,82.822634 18.56199,13.00052 41.18092,23.20094 64.3385,19.25571 24.57692,-2.70737 43.75617,-20.59336 58.39505,-39.16472 35.14182,-45.28024 55.45892,-100.466276 65.18515,-156.56723932 1.6626,-4.44659228 2.0478,-12.30141168 -4.62989,-11.94156368 -171.3544,0 -342.70881,0 -514.0632222,0 -1.0153328,0.345055 -2.0306656,0.690109 -3.0459988,1.035164 z"
|
||||
id="path12058"
|
||||
transform="scale(0.26458334)" />
|
||||
<path
|
||||
style="fill:#2ca089;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 514.23321,6.3537623 c -5.0901,5.0262187 -4.76663,13.2381867 -6.91608,19.7407367 -11.98647,50.781489 -33.2255,100.969391 -67.96508,140.714461 -15.21456,16.82141 -36.34844,31.44604 -59.96886,30.41944 -16.90358,0.59735 -34.43598,-5.53854 -48.69569,-15.10649 C 288.05073,154.03209 255.21434,113.22747 211.15127,87.069322 186.97328,72.80609 158.21402,63.119439 129.98334,68.997127 95.901616,75.943447 66.850916,96.690678 39.308038,116.86112 c -16.857097,12.89156 -33.7147816,25.9879 -49.852644,39.66537 -3.088375,5.84957 -0.616893,13.2359 -1.411002,19.70628 0.421282,14.84175 -0.896539,29.8565 0.947859,44.59871 1.7163568,5.50668 8.4182339,3.85234 11.55690249,0.60275 C 35.839889,198.35869 71.58996,174.38696 111.94214,161.23394 c 22.48632,-7.4553 48.27346,-7.87062 70.28573,2.14343 36.22555,15.94658 61.53411,49.40592 77.7972,84.47385 24.0666,54.04825 35.49858,114.06854 69.7351,163.29936 19.12654,28.6843 47.63013,49.90964 78.88126,63.8331 34.19271,15.74061 70.67254,25.73405 106.90231,35.53042 6.57899,0.79276 7.55146,-7.08935 7.18562,-11.88462 -0.16082,-13.27265 0.76916,-26.77799 -0.46895,-39.89658 -2.25589,-5.24505 -9.21623,-2.50465 -13.66876,-4.49498 -44.291,-9.40229 -90.54721,-22.78295 -124.86724,-54.13616 -25.70151,-23.04847 -41.13915,-58.12981 -37.32148,-92.93461 1.40471,-17.04981 10.54653,-33.3331 25.16913,-42.4743 25.30263,-16.41702 55.36489,-24.72153 78.90572,-44.05138 27.81139,-22.23108 49.54131,-50.79139 71.28713,-78.69658 2.39343,-8.51214 0.4057,-17.76305 1.05556,-26.5692 -0.30877,-34.880824 0.68822,-69.808186 -0.78019,-104.660303 -0.2094,-3.8090718 -4.44933,-6.1742186 -7.80707,-4.3616247 z"
|
||||
id="path12134"
|
||||
transform="scale(0.26458334)" />
|
||||
<path
|
||||
style="fill:#37c8ab;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 143.75855,156.61225 c -34.96459,1.12731 -66.32322,19.12415 -95.824469,36.18602 -18.733518,10.66666 -36.153235,23.62415 -55.0153475,33.97223 -6.2262035,2.80589 -3.8624805,11.13094 -4.6247105,16.55186 -0.341439,60.12032 -0.52706,120.25277 0.108406,180.37058 -0.234507,4.589 0.641276,12.23028 7.008176,11.17603 8.1467765,-4.57537 14.3148912,-12.24498 21.734578,-17.95821 30.020065,-26.37804 66.287586,-48.94305 106.770187,-51.58302 29.46861,-2.77853 61.45498,5.31856 84.27399,25.44083 33.80355,29.39552 58.53844,69.25826 98.07343,92.08548 23.22663,14.89356 49.3575,24.06418 74.06717,35.96516 6.83851,3.37825 15.10704,1.39043 22.51332,2.13293 35.53809,0.0166 71.11772,0.61656 106.63056,-0.62523 6.07315,-1.3088 4.56592,-9.97964 -1.16265,-10.42643 -47.36374,-14.14534 -96.26076,-26.52269 -137.33,-54.96396 -36.54752,-25.62259 -58.86934,-66.34327 -74.7929,-107.05223 -15.6752,-39.55782 -26.07956,-81.57897 -47.05214,-118.94147 -18.48458,-31.17656 -45.7002,-60.28011 -81.91219,-69.59053 -7.658,-1.93222 -15.567,-2.87375 -23.46541,-2.74004 z m -11.81514,53.63983 c 24.16618,-0.66025 45.83643,14.58176 59.95619,33.17623 7.4731,9.71043 12.976,21.5815 11.51938,34.1213 0.0453,11.78758 -8.8614,21.44282 -17.61308,28.33357 -21.46089,15.57492 -48.5238,18.55019 -74.18331,15.24358 C 92.545396,318.63401 72.313404,312.98581 58.581077,298.72542 47.897951,287.58054 48.419331,269.84645 55.965122,257.1302 64.394763,241.80538 78.043749,229.67662 93.023635,220.89098 104.80671,214.2575 118.20179,210.2409 131.94341,210.25208 Z"
|
||||
id="path12432"
|
||||
transform="scale(0.26458334)" />
|
||||
<path
|
||||
style="fill:#87decd;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 131.77853,210.94219 c -29.75115,0.77109 -57.136624,19.31528 -73.182472,43.70043 -7.98455,11.93569 -11.186235,29.50808 -1.050144,41.22548 13.776542,15.50231 34.994342,21.63677 54.809276,24.83542 21.39043,2.05159 43.90212,0.70125 63.18916,-9.65982 14.54369,-7.35339 28.97137,-21.59565 27.48029,-39.15944 -2.04175,-15.46648 -11.03914,-29.24627 -22.62742,-39.38551 -12.74449,-12.88325 -30.19207,-21.90721 -48.61869,-21.55656 z"
|
||||
id="path12656"
|
||||
transform="scale(0.26458334)" />
|
||||
<path
|
||||
style="fill:#217867;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 515.83099,154.40085 c -7.04653,3.50052 -10.44488,11.56077 -15.89135,16.97345 -21.85623,26.19505 -45.48438,52.9723 -77.07109,67.69238 -17.85018,9.7109 -37.02265,17.20279 -53.837,28.70242 -15.1094,10.55304 -22.12128,29.14914 -22.19985,47.08317 -1.39683,39.26601 21.80774,76.3727 54.06222,97.49877 30.05996,20.52594 65.20916,31.71812 100.47722,39.38744 5.74818,0.6546 11.65054,4.0685 17.40387,2.51134 5.31971,-3.89339 2.84346,-11.71045 3.70933,-17.34548 0.55705,-88.77912 0.49881,-177.56773 -0.1242,-266.34677 -0.87165,-5.26514 1.93699,-12.51071 -3.46275,-15.92386 -1.01946,-0.0525 -2.05093,-0.23628 -3.0664,-0.23286 z"
|
||||
id="path12732"
|
||||
transform="scale(0.26458334)" />
|
||||
<path
|
||||
style="fill:#2ca089;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 134.47437,365.79008 c -39.196731,-0.11713 -76.077843,18.16033 -105.634272,42.84795 -12.701135,9.98673 -25.1326427,22.01442 -37.252289,31.68552 -0.012306,-0.51675 -3.921001,3.60662 -3.0358,6.26368 -0.751777,23.41088 -0.708403,46.96982 -0.235,70.31594 2.0112872,6.83032 10.76686859,3.319 16.0344173,4.17673 118.1724037,-0.11079 236.3493537,0.26709 354.5188637,-0.33825 5.99478,-0.7914 5.45768,-9.20245 -0.005,-10.34806 -34.81649,-15.10032 -69.8785,-32.68531 -95.84907,-61.11013 -21.5055,-21.76456 -39.97541,-46.99559 -65.07287,-64.91133 -18.63085,-12.80593 -40.96612,-18.87219 -63.46898,-18.58205 z"
|
||||
id="path12919"
|
||||
transform="scale(0.26458334)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.64583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 3.9076924,188.54616 C 14.762379,176.17182 25.61708,163.79746 36.526315,162.11518 c 10.909236,-1.68228 21.872044,7.32676 33.59535,17.63895 11.723305,10.31218 24.205708,21.92624 35.820325,21.60047 11.61462,-0.32577 22.36056,-12.59133 33.10673,-24.85716"
|
||||
id="path884"
|
||||
inkscape:path-effect="#path-effect886"
|
||||
inkscape:original-d="M 3.9076924,188.54616 C 14.762657,176.17206 25.617358,163.7977 36.471794,151.42308 c 10.963733,9.00985 21.926542,18.01889 32.889746,27.02821 12.483421,11.61503 24.965827,23.22909 37.44871,34.84359 10.74664,-12.2658 21.49258,-24.53136 32.23847,-36.79744"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.64583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m -43.546153,65.936499 c 3.926813,1.037156 9.245615,3.533737 10.682247,6.482978 1.436632,2.94924 -1.111343,6.49425 -4.732793,7.529812 -3.62145,1.035562 -8.426919,-0.384236 -11.132373,-3.099169 -2.705454,-2.714932 -3.373446,-6.945546 -2.378811,-9.228138 0.994636,-2.282592 3.634917,-2.722639 7.56173,-1.685483 z"
|
||||
id="path1100"
|
||||
inkscape:path-effect="#path-effect1102"
|
||||
inkscape:original-d="m -44.938462,64.476925 c 5.319067,2.496847 10.63787,4.993426 15.95641,7.489743 -2.496367,3.365289 -4.992899,6.947273 -7.489743,10.420515 -4.775901,-1.302327 -9.551874,-2.821959 -14.328206,-4.233334 -0.651031,-4.016055 -1.3023,-8.249309 -1.953846,-12.374359 2.713994,2.65e-4 5.427616,2.65e-4 7.815385,-1.302565 z" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.58488;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m -116.60991,139.53933 c 4.74482,-2.08583 9.4895,-4.17161 17.307668,-2.71141 7.818164,1.46019 18.709173,6.46596 26.904559,8.55164 8.195385,2.08568 13.694804,1.25138 19.194415,3.44164 5.49961,2.19026 10.99903,7.40461 15.312438,10.89826 4.313407,3.49366 7.44053,5.26654 10.567407,7.03928"
|
||||
id="path1160"
|
||||
inkscape:path-effect="#path-effect1162"
|
||||
inkscape:original-d="m -116.60991,139.53933 c 4.74495,-2.08553 9.48964,-4.1713 14.23407,-6.25733 10.891712,5.00622 21.78272,10.01199 32.673685,15.0176 5.499901,-0.83407 10.999321,-1.66836 16.49859,-2.50294 5.499902,5.21481 10.999323,10.42915 16.498591,15.64334 3.127507,1.7732 6.254629,3.54608 9.381551,5.31874" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.37847;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 178.78031,71.290576 c -2.29061,1.596115 -5.82204,3.391795 -7.11054,6.285039 -1.2885,2.893244 -0.33408,6.883563 2.09989,10.425039 2.43397,3.541477 6.34711,6.63397 9.54447,7.880838 3.19736,1.246867 5.67886,0.648319 7.82636,0.04975 2.1475,-0.598567 3.96091,-1.197111 5.05844,-3.042574 1.09754,-1.845462 1.47931,-4.937962 1.38389,-8.379691 -0.0954,-3.441729 -0.66807,-7.232532 -1.86107,-10.474758 -1.193,-3.242225 -3.00641,-5.935687 -5.20166,-7.033201 -2.19524,-1.097515 -4.77218,-0.598726 -6.58575,0.349048 -1.81356,0.947773 -2.86343,2.344393 -5.15403,3.940507 z"
|
||||
id="path1172"
|
||||
inkscape:path-effect="#path-effect1174"
|
||||
inkscape:original-d="m 180.02106,71.091053 c -3.53121,1.795925 -7.06265,3.591603 -10.59432,5.387042 0.95469,3.990726 1.90911,7.981046 2.86333,11.971206 3.91353,3.09287 7.82667,6.18536 11.73965,9.27767 2.48184,-0.598318 4.96334,-1.196868 7.44465,-1.795678 1.81372,-0.59832 3.62712,-1.196882 5.44034,-1.795672 0.38202,-3.09238 0.76379,-6.18488 1.14533,-9.27769 -0.57244,-3.79071 -1.1451,-7.581512 -1.718,-11.372639 -1.81324,-2.69333 -3.62664,-5.386795 -5.44033,-8.08056 -2.57681,0.499054 -5.15375,0.997844 -7.73099,1.4964 -1.04967,1.396913 -2.09955,2.793525 -3.14966,4.189921 z" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.64583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 159.88972,127.75998 c -0.75982,2.27959 -0.86836,4.99326 0.54294,6.83849 1.4113,1.84524 4.34201,2.82214 6.34996,1.84521 2.00794,-0.97693 3.09339,-3.90764 2.38797,-6.67555 -0.70542,-2.76792 -3.20196,-5.37298 -5.15596,-5.753 -1.95401,-0.38001 -3.36509,1.46525 -4.12491,3.74485 z"
|
||||
id="path1176"
|
||||
inkscape:path-effect="#path-effect1178"
|
||||
inkscape:original-d="m 159.23846,127.32564 c -0.10828,2.71394 -0.21683,5.42761 -0.32564,8.14102 2.93109,0.97721 5.8618,1.95411 8.7923,2.93077 1.08576,-2.93056 2.17121,-5.86127 3.25642,-8.79231 -2.49637,-2.60491 -4.9929,-5.20998 -7.48975,-7.81537 -1.41087,1.8456 -2.82195,3.69086 -4.23333,5.53589 z" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.64583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M -2.6161553,41.039218 C 9.8785539,30.833665 22.373235,20.628134 33.626202,18.239762 c 11.252966,-2.388372 21.263525,3.040005 30.332359,10.230275 9.068834,7.19027 17.303542,16.260896 25.322996,20.657826 8.019453,4.39693 15.877193,4.179795 22.904233,-1.316528 7.02705,-5.496322 13.31711,-16.434667 17.14025,-25.663016 3.82314,-9.22835 5.22608,-16.8278992 6.62909,-24.4278062"
|
||||
id="path1180"
|
||||
inkscape:path-effect="#path-effect1182"
|
||||
inkscape:original-d="M -2.6161553,41.039218 C 9.8787895,30.833953 22.373471,20.628422 34.867891,10.422624 c 10.011225,5.428861 20.021785,10.857238 30.032287,16.285461 8.181263,8.903157 16.361937,18.022837 24.542513,27.033859 7.858327,-0.216879 15.716069,-0.434013 23.573719,-0.651419 6.24366,-10.748351 12.4868,-21.713679 18.72981,-32.570916 1.40326,-7.599584 2.80621,-15.1991323 4.20891,-22.7990962"
|
||||
sodipodi:nodetypes="ccccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.64583;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 231.53077,15.956412 c -10.31182,3.79909 -20.62358,7.598159 -22.95735,13.51427 -2.33378,5.916111 3.27705,13.900741 8.51815,16.138997 5.24111,2.238256 9.98882,-1.322527 14.76485,-4.904549"
|
||||
id="path4243"
|
||||
inkscape:path-effect="#path-effect4245"
|
||||
inkscape:original-d="m 231.53077,15.956412 c -10.3117,3.799409 -20.62346,7.598477 -30.9359,11.397435 5.64483,8.032907 11.25565,16.01754 16.93334,24.097436 4.80469,-3.603049 9.5524,-7.163835 14.32821,-10.746153"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.64583;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 18.561564,63.228686 c 4.993242,-5.047542 12.917172,-9.06378 20.515537,-7.055495 7.598364,2.008284 14.87087,10.040604 14.816502,16.499121 -0.05437,6.458517 -7.435272,11.34294 -16.064807,12.374223 C 29.199261,86.077818 19.32188,83.255707 15.413925,78.805222 11.505971,74.354738 13.568322,68.276228 18.561564,63.228686 Z"
|
||||
id="path6083"
|
||||
inkscape:path-effect="#path-effect6085"
|
||||
inkscape:original-d="m 15.630769,62.197437 c 7.924198,-4.015976 15.848128,-8.032214 23.771795,-12.048718 7.272915,8.032744 14.545421,16.065064 21.81795,24.097437 C 53.839436,79.131134 46.458533,84.015557 39.076923,88.900009 29.199211,86.077992 19.32183,83.255881 9.44359,80.433336 c 2.062699,-6.07849 4.12505,-12.157 6.187179,-18.235899 z"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.64583;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M -1.6282052,59.91795 C 12.005906,50.936749 25.725704,41.899104 37.231798,41.302236 c 11.506095,-0.596868 20.840951,7.21836 26.811055,16.010882 5.970105,8.792521 8.57518,18.561554 12.537226,29.633477 3.962045,11.071923 9.280745,23.446035 19.511542,31.722675 10.230799,8.27663 25.372799,12.45561 40.514799,16.63458"
|
||||
id="path6547"
|
||||
inkscape:path-effect="#path-effect6549"
|
||||
inkscape:original-d="M -1.6282052,59.91795 C 12.006108,50.937055 25.725905,41.89941 39.402564,32.889743 c 9.335308,7.81565 18.670164,15.630878 28.00513,23.446156 2.605445,9.769692 5.21052,19.538725 7.815384,29.307694 5.319176,12.374869 10.637872,24.748987 15.95641,37.123077 15.142882,4.17941 30.284882,8.35839 45.426932,12.53718"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.64583;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 139.04872,36.471797 c -7.05559,9.226536 -14.11115,18.453033 -22.41487,23.988888 -8.30372,5.535856 -17.855872,7.381159 -22.197839,13.351402 -4.341968,5.970244 -3.473607,16.064927 0.651399,23.717603 4.125007,7.65268 11.50606,12.86283 18.94153,16.28198 7.43547,3.41916 14.92521,5.04737 22.41466,6.67551"
|
||||
id="path7054"
|
||||
inkscape:path-effect="#path-effect7056"
|
||||
inkscape:original-d="m 139.04872,36.471797 c -7.05529,9.226764 -14.11085,18.453259 -21.16667,27.679486 -9.55186,1.845563 -19.104013,3.690865 -28.656408,5.535899 0.868641,10.095128 1.737002,20.189811 2.605131,30.284615 7.381606,5.210623 14.762657,10.420773 22.143597,15.630763 7.49,1.62847 14.97974,3.25668 22.46923,4.88462"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.64583;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m -1.9538462,116.25385 c 7.381211,-6.72993 14.7622602,-13.45971 23.8805122,-16.987553 9.118252,-3.527845 19.972527,-3.853473 28.547873,1.031393 8.575347,4.88487 14.870823,14.97934 22.794982,21.98068 7.924159,7.00133 17.4761,10.90895 27.027919,14.81651"
|
||||
id="path8777"
|
||||
inkscape:path-effect="#path-effect8779"
|
||||
inkscape:original-d="M -1.9538462,116.25385 C 5.4276177,109.5242 12.808666,102.79442 20.189745,96.064106 c 10.855181,-0.325383 21.709456,-0.65101 32.564102,-0.976921 6.296113,10.095325 12.59159,20.189795 18.887181,30.284615 9.552596,3.90804 19.104538,7.81565 28.656412,11.72308"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:2.48668;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect11183"
|
||||
width="132.98"
|
||||
height="132.98"
|
||||
x="1.2433392"
|
||||
y="1.2433392" />
|
||||
</g>
|
||||
</svg>
|
After (image error) Size: 24 KiB |
21
bin/isocline/doc/isocline-inline.svg
Normal file
21
bin/isocline/doc/isocline-inline.svg
Normal file
@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="64" height="64" version="1.1" viewBox="0 0 135.47 135.47" xmlns="http://www.w3.org/2000/svg">
|
||||
<path transform="scale(.26458)" d="m-10.008-10.928c-3.9909 5.5723-1.0575 13.176-1.9547 19.631 0.2481 45.593-0.58211 91.231 0.7496 136.8 1.3847 5.1449 7.9984 4.4384 10.833 0.91448 34.027-26.239 66.854-54.99 106.88-71.462 14.693-6.1796 30.817-9.2285 46.497-7.8445 26.002 0.21924 49.486 12.596 70.717 26.525 35.7 24.736 65.159 57.118 100.1 82.823 18.562 13.001 41.181 23.201 64.338 19.256 24.577-2.7074 43.756-20.593 58.395-39.165 35.142-45.28 55.459-100.47 65.185-156.57 1.6626-4.4466 2.0478-12.301-4.6299-11.942h-514.06c-1.0153 0.34506-2.0307 0.69011-3.046 1.0352z" style="fill:#217867"/>
|
||||
<path transform="scale(.26458)" d="m514.23 6.3538c-5.0901 5.0262-4.7666 13.238-6.9161 19.741-11.986 50.781-33.226 100.97-67.965 140.71-15.215 16.821-36.348 31.446-59.969 30.419-16.904 0.59735-34.436-5.5385-48.696-15.106-42.637-28.09-75.473-68.894-119.54-95.053-24.178-14.263-52.937-23.95-81.168-18.072-34.082 6.9463-63.132 27.694-90.675 47.864-16.857 12.892-33.715 25.988-49.853 39.665-3.0884 5.8496-0.61689 13.236-1.411 19.706 0.42128 14.842-0.89654 29.856 0.94786 44.599 1.7164 5.5067 8.4182 3.8523 11.557 0.60275 35.291-23.076 71.041-47.047 111.39-60.2 22.486-7.4553 48.273-7.8706 70.286 2.1434 36.226 15.947 61.534 49.406 77.797 84.474 24.067 54.048 35.499 114.07 69.735 163.3 19.127 28.684 47.63 49.91 78.881 63.833 34.193 15.741 70.673 25.734 106.9 35.53 6.579 0.79276 7.5515-7.0894 7.1856-11.885-0.16082-13.273 0.76916-26.778-0.46895-39.897-2.2559-5.245-9.2162-2.5046-13.669-4.495-44.291-9.4023-90.547-22.783-124.87-54.136-25.702-23.048-41.139-58.13-37.321-92.935 1.4047-17.05 10.547-33.333 25.169-42.474 25.303-16.417 55.365-24.722 78.906-44.051 27.811-22.231 49.541-50.791 71.287-78.697 2.3934-8.5121 0.4057-17.763 1.0556-26.569-0.30877-34.881 0.68822-69.808-0.78019-104.66-0.2094-3.8091-4.4493-6.1742-7.8071-4.3616z" style="fill:#2ca089"/>
|
||||
<path transform="scale(.26458)" d="m143.76 156.61c-34.965 1.1273-66.323 19.124-95.824 36.186-18.734 10.667-36.153 23.624-55.015 33.972-6.2262 2.8059-3.8625 11.131-4.6247 16.552-0.34144 60.12-0.52706 120.25 0.10841 180.37-0.23451 4.589 0.64128 12.23 7.0082 11.176 8.1468-4.5754 14.315-12.245 21.735-17.958 30.02-26.378 66.288-48.943 106.77-51.583 29.469-2.7785 61.455 5.3186 84.274 25.441 33.804 29.396 58.538 69.258 98.073 92.085 23.227 14.894 49.358 24.064 74.067 35.965 6.8385 3.3782 15.107 1.3904 22.513 2.1329 35.538 0.0166 71.118 0.61656 106.63-0.62523 6.0732-1.3088 4.5659-9.9796-1.1626-10.426-47.364-14.145-96.261-26.523-137.33-54.964-36.548-25.623-58.869-66.343-74.793-107.05-15.675-39.558-26.08-81.579-47.052-118.94-18.485-31.177-45.7-60.28-81.912-69.591-7.658-1.9322-15.567-2.8738-23.465-2.74zm-11.815 53.64c24.166-0.66025 45.836 14.582 59.956 33.176 7.4731 9.7104 12.976 21.582 11.519 34.121 0.0453 11.788-8.8614 21.443-17.613 28.334-21.461 15.575-48.524 18.55-74.183 15.244-19.077-2.4928-39.309-8.141-53.042-22.401-10.683-11.145-10.162-28.879-2.616-41.595 8.4296-15.325 22.079-27.454 37.059-36.239 11.783-6.6335 25.178-10.65 38.92-10.639z" style="fill:#37c8ab"/>
|
||||
<path transform="scale(.26458)" d="m131.78 210.94c-29.751 0.77109-57.137 19.315-73.182 43.7-7.9846 11.936-11.186 29.508-1.0501 41.225 13.777 15.502 34.994 21.637 54.809 24.835 21.39 2.0516 43.902 0.70125 63.189-9.6598 14.544-7.3534 28.971-21.596 27.48-39.159-2.0418-15.466-11.039-29.246-22.627-39.386-12.744-12.883-30.192-21.907-48.619-21.557z" style="fill:#87decd"/>
|
||||
<path transform="scale(.26458)" d="m515.83 154.4c-7.0465 3.5005-10.445 11.561-15.891 16.973-21.856 26.195-45.484 52.972-77.071 67.692-17.85 9.7109-37.023 17.203-53.837 28.702-15.109 10.553-22.121 29.149-22.2 47.083-1.3968 39.266 21.808 76.373 54.062 97.499 30.06 20.526 65.209 31.718 100.48 39.387 5.7482 0.6546 11.651 4.0685 17.404 2.5113 5.3197-3.8934 2.8435-11.71 3.7093-17.345 0.55705-88.779 0.49881-177.57-0.1242-266.35-0.87165-5.2651 1.937-12.511-3.4628-15.924-1.0195-0.0525-2.0509-0.23628-3.0664-0.23286z" style="fill:#217867"/>
|
||||
<path transform="scale(.26458)" d="m134.47 365.79c-39.197-0.11713-76.078 18.16-105.63 42.848-12.701 9.9867-25.133 22.014-37.252 31.686-0.012306-0.51675-3.921 3.6066-3.0358 6.2637-0.75178 23.411-0.7084 46.97-0.235 70.316 2.0113 6.8303 10.767 3.319 16.034 4.1767 118.17-0.11079 236.35 0.26709 354.52-0.33825 5.9948-0.7914 5.4577-9.2024-5e-3 -10.348-34.816-15.1-69.878-32.685-95.849-61.11-21.506-21.765-39.975-46.996-65.073-64.911-18.631-12.806-40.966-18.872-63.469-18.582z" style="fill:#2ca089"/>
|
||||
<path d="m3.9077 188.55c10.855-12.374 21.709-24.749 32.619-26.431 10.909-1.6823 21.872 7.3268 33.595 17.639 11.723 10.312 24.206 21.926 35.82 21.6 11.615-0.32577 22.361-12.591 33.107-24.857" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m-43.546 65.936c3.9268 1.0372 9.2456 3.5337 10.682 6.483 1.4366 2.9492-1.1113 6.4942-4.7328 7.5298s-8.4269-0.38424-11.132-3.0992c-2.7055-2.7149-3.3734-6.9455-2.3788-9.2281 0.99464-2.2826 3.6349-2.7226 7.5617-1.6855z" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m-116.61 139.54c4.7448-2.0858 9.4895-4.1716 17.308-2.7114 7.8182 1.4602 18.709 6.466 26.905 8.5516 8.1954 2.0857 13.695 1.2514 19.194 3.4416 5.4996 2.1903 10.999 7.4046 15.312 10.898 4.3134 3.4937 7.4405 5.2665 10.567 7.0393" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5849;stroke:#000000"/>
|
||||
<path d="m178.78 71.291c-2.2906 1.5961-5.822 3.3918-7.1105 6.285s-0.33408 6.8836 2.0999 10.425c2.434 3.5415 6.3471 6.634 9.5445 7.8808 3.1974 1.2469 5.6789 0.64832 7.8264 0.04975 2.1475-0.59857 3.9609-1.1971 5.0584-3.0426 1.0975-1.8455 1.4793-4.938 1.3839-8.3797-0.0954-3.4417-0.66807-7.2325-1.8611-10.475-1.193-3.2422-3.0064-5.9357-5.2017-7.0332-2.1952-1.0975-4.7722-0.59873-6.5858 0.34905-1.8136 0.94777-2.8634 2.3444-5.154 3.9405z" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3785;stroke:#000000"/>
|
||||
<path d="m159.89 127.76c-0.75982 2.2796-0.86836 4.9933 0.54294 6.8385 1.4113 1.8452 4.342 2.8221 6.35 1.8452 2.0079-0.97693 3.0934-3.9076 2.388-6.6756-0.70542-2.7679-3.202-5.373-5.156-5.753-1.954-0.38001-3.3651 1.4652-4.1249 3.7448z" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m-2.6162 41.039c12.495-10.206 24.989-20.411 36.242-22.799 11.253-2.3884 21.264 3.04 30.332 10.23s17.304 16.261 25.323 20.658c8.0195 4.3969 15.877 4.1798 22.904-1.3165 7.027-5.4963 13.317-16.435 17.14-25.663 3.8231-9.2284 5.2261-16.828 6.6291-24.428" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m231.53 15.956c-10.312 3.7991-20.624 7.5982-22.957 13.514-2.3338 5.9161 3.277 13.901 8.5182 16.139 5.2411 2.2383 9.9888-1.3225 14.765-4.9045" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m18.562 63.229c4.9932-5.0475 12.917-9.0638 20.516-7.0555 7.5984 2.0083 14.871 10.041 14.817 16.499-0.05437 6.4585-7.4353 11.343-16.065 12.374s-18.507-1.7908-22.415-6.2413c-3.908-4.4505-1.8456-10.529 3.1476-15.577z" style="fill:none;stroke-linecap:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m-1.6282 59.918c13.634-8.9812 27.354-18.019 38.86-18.616 11.506-0.59687 20.841 7.2184 26.811 16.011 5.9701 8.7925 8.5752 18.562 12.537 29.633 3.962 11.072 9.2807 23.446 19.512 31.723 10.231 8.2766 25.373 12.456 40.515 16.635" style="fill:none;stroke-linecap:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m139.05 36.472c-7.0556 9.2265-14.111 18.453-22.415 23.989-8.3037 5.5359-17.856 7.3812-22.198 13.351-4.342 5.9702-3.4736 16.065 0.6514 23.718 4.125 7.6527 11.506 12.863 18.942 16.282 7.4355 3.4192 14.925 5.0474 22.415 6.6755" style="fill:none;stroke-linecap:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m-1.9538 116.25c7.3812-6.7299 14.762-13.46 23.881-16.988 9.1183-3.5278 19.973-3.8535 28.548 1.0314 8.5753 4.8849 14.871 14.979 22.795 21.981 7.9242 7.0013 17.476 10.909 27.028 14.817" style="fill:none;stroke-linecap:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<rect x="1.2433" y="1.2433" width="132.98" height="132.98" style="fill:none;stroke-linecap:round;stroke-width:2.4867;stroke:#000000"/>
|
||||
</svg>
|
After (image error) Size: 8.1 KiB |
21
bin/isocline/doc/isocline.svg
Normal file
21
bin/isocline/doc/isocline.svg
Normal file
@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="512" height="512" version="1.1" viewBox="0 0 135.47 135.47" xmlns="http://www.w3.org/2000/svg">
|
||||
<path transform="scale(.26458)" d="m-10.008-10.928c-3.9909 5.5723-1.0575 13.176-1.9547 19.631 0.2481 45.593-0.58211 91.231 0.7496 136.8 1.3847 5.1449 7.9984 4.4384 10.833 0.91448 34.027-26.239 66.854-54.99 106.88-71.462 14.693-6.1796 30.817-9.2285 46.497-7.8445 26.002 0.21924 49.486 12.596 70.717 26.525 35.7 24.736 65.159 57.118 100.1 82.823 18.562 13.001 41.181 23.201 64.338 19.256 24.577-2.7074 43.756-20.593 58.395-39.165 35.142-45.28 55.459-100.47 65.185-156.57 1.6626-4.4466 2.0478-12.301-4.6299-11.942h-514.06c-1.0153 0.34506-2.0307 0.69011-3.046 1.0352z" style="fill:#217867"/>
|
||||
<path transform="scale(.26458)" d="m514.23 6.3538c-5.0901 5.0262-4.7666 13.238-6.9161 19.741-11.986 50.781-33.226 100.97-67.965 140.71-15.215 16.821-36.348 31.446-59.969 30.419-16.904 0.59735-34.436-5.5385-48.696-15.106-42.637-28.09-75.473-68.894-119.54-95.053-24.178-14.263-52.937-23.95-81.168-18.072-34.082 6.9463-63.132 27.694-90.675 47.864-16.857 12.892-33.715 25.988-49.853 39.665-3.0884 5.8496-0.61689 13.236-1.411 19.706 0.42128 14.842-0.89654 29.856 0.94786 44.599 1.7164 5.5067 8.4182 3.8523 11.557 0.60275 35.291-23.076 71.041-47.047 111.39-60.2 22.486-7.4553 48.273-7.8706 70.286 2.1434 36.226 15.947 61.534 49.406 77.797 84.474 24.067 54.048 35.499 114.07 69.735 163.3 19.127 28.684 47.63 49.91 78.881 63.833 34.193 15.741 70.673 25.734 106.9 35.53 6.579 0.79276 7.5515-7.0894 7.1856-11.885-0.16082-13.273 0.76916-26.778-0.46895-39.897-2.2559-5.245-9.2162-2.5046-13.669-4.495-44.291-9.4023-90.547-22.783-124.87-54.136-25.702-23.048-41.139-58.13-37.321-92.935 1.4047-17.05 10.547-33.333 25.169-42.474 25.303-16.417 55.365-24.722 78.906-44.051 27.811-22.231 49.541-50.791 71.287-78.697 2.3934-8.5121 0.4057-17.763 1.0556-26.569-0.30877-34.881 0.68822-69.808-0.78019-104.66-0.2094-3.8091-4.4493-6.1742-7.8071-4.3616z" style="fill:#2ca089"/>
|
||||
<path transform="scale(.26458)" d="m143.76 156.61c-34.965 1.1273-66.323 19.124-95.824 36.186-18.734 10.667-36.153 23.624-55.015 33.972-6.2262 2.8059-3.8625 11.131-4.6247 16.552-0.34144 60.12-0.52706 120.25 0.10841 180.37-0.23451 4.589 0.64128 12.23 7.0082 11.176 8.1468-4.5754 14.315-12.245 21.735-17.958 30.02-26.378 66.288-48.943 106.77-51.583 29.469-2.7785 61.455 5.3186 84.274 25.441 33.804 29.396 58.538 69.258 98.073 92.085 23.227 14.894 49.358 24.064 74.067 35.965 6.8385 3.3782 15.107 1.3904 22.513 2.1329 35.538 0.0166 71.118 0.61656 106.63-0.62523 6.0732-1.3088 4.5659-9.9796-1.1626-10.426-47.364-14.145-96.261-26.523-137.33-54.964-36.548-25.623-58.869-66.343-74.793-107.05-15.675-39.558-26.08-81.579-47.052-118.94-18.485-31.177-45.7-60.28-81.912-69.591-7.658-1.9322-15.567-2.8738-23.465-2.74zm-11.815 53.64c24.166-0.66025 45.836 14.582 59.956 33.176 7.4731 9.7104 12.976 21.582 11.519 34.121 0.0453 11.788-8.8614 21.443-17.613 28.334-21.461 15.575-48.524 18.55-74.183 15.244-19.077-2.4928-39.309-8.141-53.042-22.401-10.683-11.145-10.162-28.879-2.616-41.595 8.4296-15.325 22.079-27.454 37.059-36.239 11.783-6.6335 25.178-10.65 38.92-10.639z" style="fill:#37c8ab"/>
|
||||
<path transform="scale(.26458)" d="m131.78 210.94c-29.751 0.77109-57.137 19.315-73.182 43.7-7.9846 11.936-11.186 29.508-1.0501 41.225 13.777 15.502 34.994 21.637 54.809 24.835 21.39 2.0516 43.902 0.70125 63.189-9.6598 14.544-7.3534 28.971-21.596 27.48-39.159-2.0418-15.466-11.039-29.246-22.627-39.386-12.744-12.883-30.192-21.907-48.619-21.557z" style="fill:#87decd"/>
|
||||
<path transform="scale(.26458)" d="m515.83 154.4c-7.0465 3.5005-10.445 11.561-15.891 16.973-21.856 26.195-45.484 52.972-77.071 67.692-17.85 9.7109-37.023 17.203-53.837 28.702-15.109 10.553-22.121 29.149-22.2 47.083-1.3968 39.266 21.808 76.373 54.062 97.499 30.06 20.526 65.209 31.718 100.48 39.387 5.7482 0.6546 11.651 4.0685 17.404 2.5113 5.3197-3.8934 2.8435-11.71 3.7093-17.345 0.55705-88.779 0.49881-177.57-0.1242-266.35-0.87165-5.2651 1.937-12.511-3.4628-15.924-1.0195-0.0525-2.0509-0.23628-3.0664-0.23286z" style="fill:#217867"/>
|
||||
<path transform="scale(.26458)" d="m134.47 365.79c-39.197-0.11713-76.078 18.16-105.63 42.848-12.701 9.9867-25.133 22.014-37.252 31.686-0.012306-0.51675-3.921 3.6066-3.0358 6.2637-0.75178 23.411-0.7084 46.97-0.235 70.316 2.0113 6.8303 10.767 3.319 16.034 4.1767 118.17-0.11079 236.35 0.26709 354.52-0.33825 5.9948-0.7914 5.4577-9.2024-5e-3 -10.348-34.816-15.1-69.878-32.685-95.849-61.11-21.506-21.765-39.975-46.996-65.073-64.911-18.631-12.806-40.966-18.872-63.469-18.582z" style="fill:#2ca089"/>
|
||||
<path d="m3.9077 188.55c10.855-12.374 21.709-24.749 32.619-26.431 10.909-1.6823 21.872 7.3268 33.595 17.639 11.723 10.312 24.206 21.926 35.82 21.6 11.615-0.32577 22.361-12.591 33.107-24.857" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m-43.546 65.936c3.9268 1.0372 9.2456 3.5337 10.682 6.483 1.4366 2.9492-1.1113 6.4942-4.7328 7.5298s-8.4269-0.38424-11.132-3.0992c-2.7055-2.7149-3.3734-6.9455-2.3788-9.2281 0.99464-2.2826 3.6349-2.7226 7.5617-1.6855z" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m-116.61 139.54c4.7448-2.0858 9.4895-4.1716 17.308-2.7114 7.8182 1.4602 18.709 6.466 26.905 8.5516 8.1954 2.0857 13.695 1.2514 19.194 3.4416 5.4996 2.1903 10.999 7.4046 15.312 10.898 4.3134 3.4937 7.4405 5.2665 10.567 7.0393" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5849;stroke:#000000"/>
|
||||
<path d="m178.78 71.291c-2.2906 1.5961-5.822 3.3918-7.1105 6.285s-0.33408 6.8836 2.0999 10.425c2.434 3.5415 6.3471 6.634 9.5445 7.8808 3.1974 1.2469 5.6789 0.64832 7.8264 0.04975 2.1475-0.59857 3.9609-1.1971 5.0584-3.0426 1.0975-1.8455 1.4793-4.938 1.3839-8.3797-0.0954-3.4417-0.66807-7.2325-1.8611-10.475-1.193-3.2422-3.0064-5.9357-5.2017-7.0332-2.1952-1.0975-4.7722-0.59873-6.5858 0.34905-1.8136 0.94777-2.8634 2.3444-5.154 3.9405z" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3785;stroke:#000000"/>
|
||||
<path d="m159.89 127.76c-0.75982 2.2796-0.86836 4.9933 0.54294 6.8385 1.4113 1.8452 4.342 2.8221 6.35 1.8452 2.0079-0.97693 3.0934-3.9076 2.388-6.6756-0.70542-2.7679-3.202-5.373-5.156-5.753-1.954-0.38001-3.3651 1.4652-4.1249 3.7448z" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m-2.6162 41.039c12.495-10.206 24.989-20.411 36.242-22.799 11.253-2.3884 21.264 3.04 30.332 10.23s17.304 16.261 25.323 20.658c8.0195 4.3969 15.877 4.1798 22.904-1.3165 7.027-5.4963 13.317-16.435 17.14-25.663 3.8231-9.2284 5.2261-16.828 6.6291-24.428" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m231.53 15.956c-10.312 3.7991-20.624 7.5982-22.957 13.514-2.3338 5.9161 3.277 13.901 8.5182 16.139 5.2411 2.2383 9.9888-1.3225 14.765-4.9045" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m18.562 63.229c4.9932-5.0475 12.917-9.0638 20.516-7.0555 7.5984 2.0083 14.871 10.041 14.817 16.499-0.05437 6.4585-7.4353 11.343-16.065 12.374s-18.507-1.7908-22.415-6.2413c-3.908-4.4505-1.8456-10.529 3.1476-15.577z" style="fill:none;stroke-linecap:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m-1.6282 59.918c13.634-8.9812 27.354-18.019 38.86-18.616 11.506-0.59687 20.841 7.2184 26.811 16.011 5.9701 8.7925 8.5752 18.562 12.537 29.633 3.962 11.072 9.2807 23.446 19.512 31.723 10.231 8.2766 25.373 12.456 40.515 16.635" style="fill:none;stroke-linecap:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m139.05 36.472c-7.0556 9.2265-14.111 18.453-22.415 23.989-8.3037 5.5359-17.856 7.3812-22.198 13.351-4.342 5.9702-3.4736 16.065 0.6514 23.718 4.125 7.6527 11.506 12.863 18.942 16.282 7.4355 3.4192 14.925 5.0474 22.415 6.6755" style="fill:none;stroke-linecap:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<path d="m-1.9538 116.25c7.3812-6.7299 14.762-13.46 23.881-16.988 9.1183-3.5278 19.973-3.8535 28.548 1.0314 8.5753 4.8849 14.871 14.979 22.795 21.981 7.9242 7.0013 17.476 10.909 27.028 14.817" style="fill:none;stroke-linecap:round;stroke-width:2.6458;stroke:#000000"/>
|
||||
<rect x="1.2433" y="1.2433" width="132.98" height="132.98" style="fill:none;stroke-linecap:round;stroke-width:2.4867;stroke:#000000"/>
|
||||
</svg>
|
After (image error) Size: 8.1 KiB |
220
bin/isocline/doc/record-macos.svg
Normal file
220
bin/isocline/doc/record-macos.svg
Normal file
File diff suppressed because one or more lines are too long
After (image error) Size: 126 KiB |
1046
bin/isocline/haskell/System/Console/Isocline.hs
Normal file
1046
bin/isocline/haskell/System/Console/Isocline.hs
Normal file
File diff suppressed because it is too large
Load Diff
60
bin/isocline/haskell/readme.md
Normal file
60
bin/isocline/haskell/readme.md
Normal file
@ -0,0 +1,60 @@
|
||||
# Haskell Binding for Isocline
|
||||
|
||||
You can build and run the [example] program as:
|
||||
```
|
||||
$ ghc -ihaskell test/Example.hs src/isocline.c
|
||||
$ ./test/Example
|
||||
```
|
||||
|
||||
See the [API documentation](https://hackage.haskell.org/package/isocline/docs/System-Console-Isocline.html) on hackage.
|
||||
|
||||
## Using with Stack
|
||||
|
||||
You can build with isocline by adding
|
||||
```
|
||||
extra-deps:
|
||||
- isocline-<version>
|
||||
```
|
||||
to your `stack.yaml` file, and
|
||||
```
|
||||
dependencies:
|
||||
- isocline
|
||||
```
|
||||
to your `package.yaml` file (and also run `stack update`).
|
||||
|
||||
## Using with Cabal
|
||||
|
||||
To use it with Cabal, add
|
||||
```
|
||||
build-depends:
|
||||
isocline
|
||||
```
|
||||
to your `project.cabal` file (and perhaps run `cabal update`).
|
||||
|
||||
|
||||
# Building Isocline from Source
|
||||
|
||||
## Building with Stack
|
||||
|
||||
From the isocline directory, run:
|
||||
|
||||
```
|
||||
$ stack build
|
||||
$ stack exec example
|
||||
```
|
||||
|
||||
## Building with Cabal
|
||||
|
||||
From the isocline directory, run:
|
||||
|
||||
```
|
||||
$ cabal build
|
||||
$ cabal run example
|
||||
```
|
||||
|
||||
You can install the locally build `isocline` package as:
|
||||
```
|
||||
$ cabal install
|
||||
```
|
||||
|
||||
[example]: https://github.com/daanx/isocline/blob/main/test/Example.hs
|
167
bin/isocline/ide/vs2019/example.vcxproj
Normal file
167
bin/isocline/ide/vs2019/example.vcxproj
Normal file
@ -0,0 +1,167 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>16.0</VCProjectVersion>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<ProjectGuid>{4f1ba749-eadd-4537-b910-56755ce72d80}</ProjectGuid>
|
||||
<RootNamespace>example</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\build\msvc-$(Platform)\$(ProjectName)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(OutDir)</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\build\msvc-$(Platform)\$(ProjectName)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(OutDir)</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\build\msvc-$(Platform)\$(ProjectName)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(OutDir)</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\build\msvc-$(Platform)\$(ProjectName)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(OutDir)</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>IC_SEPARATE_OBJS;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>IC_SEPARATE_OBJS;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>IC_SEPARATE_OBJS;_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>IC_SEPARATE_OBJS;_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
<AdditionalIncludeDirectories>..\..\include</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\test\example.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\include\isocline.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="isocline.vcxproj">
|
||||
<Project>{4f1ba748-eadd-4537-b910-56755ce72d80}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
23
bin/isocline/ide/vs2019/example.vcxproj.filters
Normal file
23
bin/isocline/ide/vs2019/example.vcxproj.filters
Normal file
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\test\example.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\include\isocline.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
41
bin/isocline/ide/vs2019/isocline.sln
Normal file
41
bin/isocline/ide/vs2019/isocline.sln
Normal file
@ -0,0 +1,41 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
VisualStudioVersion = 16.0.30709.132
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "example", "example.vcxproj", "{4F1BA749-EADD-4537-B910-56755CE72D80}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "isocline", "isocline.vcxproj", "{4F1BA748-EADD-4537-B910-56755CE72D80}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{4F1BA749-EADD-4537-B910-56755CE72D80}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{4F1BA749-EADD-4537-B910-56755CE72D80}.Debug|x64.Build.0 = Debug|x64
|
||||
{4F1BA749-EADD-4537-B910-56755CE72D80}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{4F1BA749-EADD-4537-B910-56755CE72D80}.Debug|x86.Build.0 = Debug|Win32
|
||||
{4F1BA749-EADD-4537-B910-56755CE72D80}.Release|x64.ActiveCfg = Release|x64
|
||||
{4F1BA749-EADD-4537-B910-56755CE72D80}.Release|x64.Build.0 = Release|x64
|
||||
{4F1BA749-EADD-4537-B910-56755CE72D80}.Release|x86.ActiveCfg = Release|Win32
|
||||
{4F1BA749-EADD-4537-B910-56755CE72D80}.Release|x86.Build.0 = Release|Win32
|
||||
{4F1BA748-EADD-4537-B910-56755CE72D80}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{4F1BA748-EADD-4537-B910-56755CE72D80}.Debug|x64.Build.0 = Debug|x64
|
||||
{4F1BA748-EADD-4537-B910-56755CE72D80}.Debug|x86.ActiveCfg = Debug|Win32
|
||||
{4F1BA748-EADD-4537-B910-56755CE72D80}.Debug|x86.Build.0 = Debug|Win32
|
||||
{4F1BA748-EADD-4537-B910-56755CE72D80}.Release|x64.ActiveCfg = Release|x64
|
||||
{4F1BA748-EADD-4537-B910-56755CE72D80}.Release|x64.Build.0 = Release|x64
|
||||
{4F1BA748-EADD-4537-B910-56755CE72D80}.Release|x86.ActiveCfg = Release|Win32
|
||||
{4F1BA748-EADD-4537-B910-56755CE72D80}.Release|x86.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {0D69DA9B-B745-4DA2-808A-4D8C6F12FCCD}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
212
bin/isocline/ide/vs2019/isocline.vcxproj
Normal file
212
bin/isocline/ide/vs2019/isocline.vcxproj
Normal file
@ -0,0 +1,212 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<VCProjectVersion>16.0</VCProjectVersion>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<ProjectGuid>{4f1ba748-eadd-4537-b910-56755ce72d80}</ProjectGuid>
|
||||
<RootNamespace>isocline</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\build\msvc-$(Platform)\$(ProjectName)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(OutDir)</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)..\..\build\msvc-$(Platform)\$(ProjectName)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(OutDir)</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\build\msvc-$(Platform)\$(ProjectName)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(OutDir)</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)..\..\build\msvc-$(Platform)\$(ProjectName)\$(Configuration)\</OutDir>
|
||||
<IntDir>$(OutDir)</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>IC_DEBUG_MSG;IC_SEPARATE_OBJS;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>IC_SEPARATE_OBJS;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>IC_DEBUG_MSG;IC_SEPARATE_OBJS;_CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<PreprocessorDefinitions>IC_SEPARATE_OBJS;_CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ConformanceMode>true</ConformanceMode>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\attr.c" />
|
||||
<ClCompile Include="..\..\src\bbcode.c" />
|
||||
<ClCompile Include="..\..\src\bbcode_colors.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\common.c" />
|
||||
<ClCompile Include="..\..\src\completers.c" />
|
||||
<ClCompile Include="..\..\src\completions.c" />
|
||||
<ClCompile Include="..\..\src\editline.c" />
|
||||
<ClCompile Include="..\..\src\editline_completion.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\editline_help.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\editline_history.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\highlight.c" />
|
||||
<ClCompile Include="..\..\src\history.c" />
|
||||
<ClCompile Include="..\..\src\isocline.c" />
|
||||
<ClCompile Include="..\..\src\stringbuf.c" />
|
||||
<ClCompile Include="..\..\src\term.c" />
|
||||
<ClCompile Include="..\..\src\term_color.c">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\tty.c" />
|
||||
<ClCompile Include="..\..\src\tty_esc.c" />
|
||||
<ClCompile Include="..\..\src\undo.c" />
|
||||
<ClCompile Include="..\..\src\wcwidth.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\include\isocline.h" />
|
||||
<ClInclude Include="..\..\src\attr.h" />
|
||||
<ClInclude Include="..\..\src\bbcode.h" />
|
||||
<ClInclude Include="..\..\src\common.h" />
|
||||
<ClInclude Include="..\..\src\completions.h" />
|
||||
<ClInclude Include="..\..\src\env.h" />
|
||||
<ClInclude Include="..\..\src\highlight.h" />
|
||||
<ClInclude Include="..\..\src\history.h" />
|
||||
<ClInclude Include="..\..\src\stringbuf.h" />
|
||||
<ClInclude Include="..\..\src\term.h" />
|
||||
<ClInclude Include="..\..\src\tty.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
110
bin/isocline/ide/vs2019/isocline.vcxproj.filters
Normal file
110
bin/isocline/ide/vs2019/isocline.vcxproj.filters
Normal file
@ -0,0 +1,110 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\completions.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\editline.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\history.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\isocline.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\stringbuf.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\term.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\tty.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\tty_esc.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\wcwidth.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\common.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\completers.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\undo.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\editline_completion.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\editline_help.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\editline_history.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\highlight.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\term_color.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\attr.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\bbcode.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\src\bbcode_colors.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\src\common.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\env.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\stringbuf.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\term.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\tty.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\isocline.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\history.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\completions.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\highlight.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\attr.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\src\bbcode.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
627
bin/isocline/include/isocline.h
Normal file
627
bin/isocline/include/isocline.h
Normal file
@ -0,0 +1,627 @@
|
||||
/* ----------------------------------------------------------------------------
|
||||
Copyright (c) 2021, Daan Leijen
|
||||
This is free software; you can redistribute it and/or modify it
|
||||
under the terms of the MIT License. A copy of the license can be
|
||||
found in the "LICENSE" file at the root of this distribution.
|
||||
-----------------------------------------------------------------------------*/
|
||||
#pragma once
|
||||
#ifndef IC_ISOCLINE_H
|
||||
#define IC_ISOCLINE_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <stddef.h> // size_t
|
||||
#include <stdbool.h> // bool
|
||||
#include <stdint.h> // uint32_t
|
||||
#include <stdarg.h> // term_vprintf
|
||||
|
||||
|
||||
/*! \mainpage
|
||||
Isocline C API reference.
|
||||
|
||||
Isocline is a pure C library that can be used as an alternative to the GNU readline library.
|
||||
|
||||
See the [Github repository](https://github.com/daanx/isocline#readme)
|
||||
for general information and building the library.
|
||||
|
||||
Contents:
|
||||
- \ref readline
|
||||
- \ref bbcode
|
||||
- \ref history
|
||||
- \ref completion
|
||||
- \ref highlight
|
||||
- \ref options
|
||||
- \ref helper
|
||||
- \ref completex
|
||||
- \ref term
|
||||
- \ref async
|
||||
- \ref alloc
|
||||
*/
|
||||
|
||||
/// \defgroup readline Readline
|
||||
/// The basic readline interface.
|
||||
/// \{
|
||||
|
||||
/// Isocline version: 102 = 1.0.2.
|
||||
#define IC_VERSION (104)
|
||||
|
||||
|
||||
/// Read input from the user using rich editing abilities.
|
||||
/// @param prompt_text The prompt text, can be NULL for the default ("").
|
||||
/// The displayed prompt becomes `prompt_text` followed by the `prompt_marker` ("> ").
|
||||
/// @returns the heap allocated input on succes, which should be `free`d by the caller.
|
||||
/// Returns NULL on error, or if the user typed ctrl+d or ctrl+c.
|
||||
///
|
||||
/// If the standard input (`stdin`) has no editing capability
|
||||
/// (like a dumb terminal (e.g. `TERM`=`dumb`), running in a debuggen, a pipe or redirected file, etc.)
|
||||
/// the input is read directly from the input stream up to the
|
||||
/// next line without editing capability.
|
||||
/// See also \a ic_set_prompt_marker(), \a ic_style_def()
|
||||
///
|
||||
/// @see ic_set_prompt_marker(), ic_style_def()
|
||||
char* ic_readline(const char* prompt_text);
|
||||
|
||||
/// \}
|
||||
|
||||
|
||||
//--------------------------------------------------------------
|
||||
/// \defgroup bbcode Formatted Text
|
||||
/// Formatted text using [bbcode markup](https://github.com/daanx/isocline#bbcode-format).
|
||||
/// \{
|
||||
|
||||
/// Print to the terminal while respection bbcode markup.
|
||||
/// Any unclosed tags are closed automatically at the end of the print.
|
||||
/// For example:
|
||||
/// ```
|
||||
/// ic_print("[b]bold, [i]bold and italic[/i], [red]red and bold[/][/b] default.");
|
||||
/// ic_print("[b]bold[/], [i b]bold and italic[/], [yellow on blue]yellow on blue background");
|
||||
/// ic_style_add("em","i color=#888800");
|
||||
/// ic_print("[em]emphasis");
|
||||
/// ```
|
||||
/// Properties that can be assigned are:
|
||||
/// * `color=` _clr_, `bgcolor=` _clr_: where _clr_ is either a hex value `#`RRGGBB or `#`RGB, a
|
||||
/// standard HTML color name, or an ANSI palette name, like `ansi-maroon`, `ansi-default`, etc.
|
||||
/// * `bold`,`italic`,`reverse`,`underline`: can be `on` or `off`.
|
||||
/// * everything else is a style; all HTML and ANSI color names are also a style (so we can just use `red`
|
||||
/// instead of `color=red`, or `on red` instead of `bgcolor=red`), and there are
|
||||
/// the `b`, `i`, `u`, and `r` styles for bold, italic, underline, and reverse.
|
||||
///
|
||||
/// See [here](https://github.com/daanx/isocline#bbcode-format) for a description of the full bbcode format.
|
||||
void ic_print( const char* s );
|
||||
|
||||
/// Print with bbcode markup ending with a newline.
|
||||
/// @see ic_print()
|
||||
void ic_println( const char* s );
|
||||
|
||||
/// Print formatted with bbcode markup.
|
||||
/// @see ic_print()
|
||||
void ic_printf(const char* fmt, ...);
|
||||
|
||||
/// Print formatted with bbcode markup.
|
||||
/// @see ic_print
|
||||
void ic_vprintf(const char* fmt, va_list args);
|
||||
|
||||
/// Define or redefine a style.
|
||||
/// @param style_name The name of the style.
|
||||
/// @param fmt The `fmt` string is the content of a tag and can contain
|
||||
/// other styles. This is very useful to theme the output of a program
|
||||
/// by assigning standard styles like `em` or `warning` etc.
|
||||
void ic_style_def( const char* style_name, const char* fmt );
|
||||
|
||||
/// Start a global style that is only reset when calling a matching ic_style_close().
|
||||
void ic_style_open( const char* fmt );
|
||||
|
||||
/// End a global style.
|
||||
void ic_style_close(void);
|
||||
|
||||
/// \}
|
||||
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// History
|
||||
//--------------------------------------------------------------
|
||||
/// \defgroup history History
|
||||
/// Readline input history.
|
||||
/// \{
|
||||
|
||||
/// Enable history.
|
||||
/// Use a \a NULL filename to not persist the history. Use -1 for max_entries to get the default (200).
|
||||
void ic_set_history(const char* fname, long max_entries );
|
||||
|
||||
/// Remove the last entry in the history.
|
||||
/// The last returned input from ic_readline() is automatically added to the history; this function removes it.
|
||||
void ic_history_remove_last(void);
|
||||
|
||||
/// Clear the history.
|
||||
void ic_history_clear(void);
|
||||
|
||||
/// Add an entry to the history
|
||||
void ic_history_add( const char* entry );
|
||||
|
||||
/// \}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// Basic Completion
|
||||
//--------------------------------------------------------------
|
||||
|
||||
/// \defgroup completion Completion
|
||||
/// Basic word completion.
|
||||
/// \{
|
||||
|
||||
/// A completion environment
|
||||
struct ic_completion_env_s;
|
||||
|
||||
/// A completion environment
|
||||
typedef struct ic_completion_env_s ic_completion_env_t;
|
||||
|
||||
/// A completion callback that is called by isocline when tab is pressed.
|
||||
/// It is passed a completion environment (containing the current input and the current cursor position),
|
||||
/// the current input up-to the cursor (`prefix`)
|
||||
/// and the user given argument when the callback was set.
|
||||
/// When using completion transformers, like `ic_complete_quoted_word` the `prefix` contains the
|
||||
/// the word to be completed without escape characters or quotes.
|
||||
typedef void (ic_completer_fun_t)(ic_completion_env_t* cenv, const char* prefix );
|
||||
|
||||
/// Set the default completion handler.
|
||||
/// @param completer The completion function
|
||||
/// @param arg Argument passed to the \a completer.
|
||||
/// There can only be one default completion function, setting it again disables the previous one.
|
||||
/// The initial completer use `ic_complete_filename`.
|
||||
void ic_set_default_completer( ic_completer_fun_t* completer, void* arg);
|
||||
|
||||
|
||||
/// In a completion callback (usually from ic_complete_word()), use this function to add a completion.
|
||||
/// (the completion string is copied by isocline and do not need to be preserved or allocated).
|
||||
///
|
||||
/// Returns `true` if the callback should continue trying to find more possible completions.
|
||||
/// If `false` is returned, the callback should try to return and not add more completions (for improved latency).
|
||||
bool ic_add_completion(ic_completion_env_t* cenv, const char* completion);
|
||||
|
||||
/// In a completion callback (usually from ic_complete_word()), use this function to add a completion.
|
||||
/// The `display` is used to display the completion in the completion menu, and `help` is
|
||||
/// displayed for hints for example. Both can be `NULL` for the default.
|
||||
/// (all are copied by isocline and do not need to be preserved or allocated).
|
||||
///
|
||||
/// Returns `true` if the callback should continue trying to find more possible completions.
|
||||
/// If `false` is returned, the callback should try to return and not add more completions (for improved latency).
|
||||
bool ic_add_completion_ex( ic_completion_env_t* cenv, const char* completion, const char* display, const char* help );
|
||||
|
||||
/// In a completion callback (usually from ic_complete_word()), use this function to add completions.
|
||||
/// The `completions` array should be terminated with a NULL element, and all elements
|
||||
/// are added as completions if they start with `prefix`.
|
||||
///
|
||||
/// Returns `true` if the callback should continue trying to find more possible completions.
|
||||
/// If `false` is returned, the callback should try to return and not add more completions (for improved latency).
|
||||
bool ic_add_completions(ic_completion_env_t* cenv, const char* prefix, const char** completions);
|
||||
|
||||
/// Complete a filename.
|
||||
/// Complete a filename given a semi-colon separated list of root directories `roots` and
|
||||
/// semi-colon separated list of possible extensions (excluding directories).
|
||||
/// If `roots` is NULL, the current directory is the root (".").
|
||||
/// If `extensions` is NULL, any extension will match.
|
||||
/// Each root directory should _not_ end with a directory separator.
|
||||
/// If a directory is completed, the `dir_separator` is added at the end if it is not `0`.
|
||||
/// Usually the `dir_separator` is `/` but it can be set to `\\` on Windows systems.
|
||||
/// For example:
|
||||
/// ```
|
||||
/// /ho --> /home/
|
||||
/// /home/.ba --> /home/.bashrc
|
||||
/// ```
|
||||
/// (This already uses ic_complete_quoted_word() so do not call it from inside a word handler).
|
||||
void ic_complete_filename( ic_completion_env_t* cenv, const char* prefix, char dir_separator, const char* roots, const char* extensions );
|
||||
|
||||
|
||||
|
||||
/// Function that returns whether a (utf8) character (of length `len`) is in a certain character class
|
||||
/// @see ic_char_is_separator() etc.
|
||||
typedef bool (ic_is_char_class_fun_t)(const char* s, long len);
|
||||
|
||||
|
||||
/// Complete a _word_ (i.e. _token_).
|
||||
/// Calls the user provided function `fun` to complete on the
|
||||
/// current _word_. Almost all user provided completers should use this function.
|
||||
/// If `is_word_char` is NULL, the default `&ic_char_is_nonseparator` is used.
|
||||
/// The `prefix` passed to `fun` is modified to only contain the current word, and
|
||||
/// any results from `ic_add_completion` are automatically adjusted to replace that part.
|
||||
/// For example, on the input "hello w", a the user `fun` only gets `w` and can just complete
|
||||
/// with "world" resulting in "hello world" without needing to consider `delete_before` etc.
|
||||
/// @see ic_complete_qword() for completing quoted and escaped tokens.
|
||||
void ic_complete_word(ic_completion_env_t* cenv, const char* prefix, ic_completer_fun_t* fun, ic_is_char_class_fun_t* is_word_char);
|
||||
|
||||
|
||||
/// Complete a quoted _word_.
|
||||
/// Calls the user provided function `fun` to complete while taking
|
||||
/// care of quotes and escape characters. Almost all user provided completers should use
|
||||
/// this function. The `prefix` passed to `fun` is modified to be unquoted and unescaped, and
|
||||
/// any results from `ic_add_completion` are automatically quoted and escaped again.
|
||||
/// For example, completing `hello world`, the `fun` always just completes `hel` or `hello w` to `hello world`,
|
||||
/// but depending on user input, it will complete as:
|
||||
/// ```
|
||||
/// hel --> hello\ world
|
||||
/// hello\ w --> hello\ world
|
||||
/// hello w --> # no completion, the word is just 'w'>
|
||||
/// "hel --> "hello world"
|
||||
/// "hello w --> "hello world"
|
||||
/// ```
|
||||
/// with proper quotes and escapes.
|
||||
/// If `is_word_char` is NULL, the default `&ic_char_is_nonseparator` is used.
|
||||
/// @see ic_complete_quoted_word() to customize the word boundary, quotes etc.
|
||||
void ic_complete_qword( ic_completion_env_t* cenv, const char* prefix, ic_completer_fun_t* fun, ic_is_char_class_fun_t* is_word_char );
|
||||
|
||||
|
||||
|
||||
/// Complete a _word_.
|
||||
/// Calls the user provided function `fun` to complete while taking
|
||||
/// care of quotes and escape characters. Almost all user provided completers should use this function.
|
||||
/// The `is_word_char` is a set of characters that are part of a "word". Use NULL for the default (`&ic_char_is_nonseparator`).
|
||||
/// The `escape_char` is the escaping character, usually `\` but use 0 to not have escape characters.
|
||||
/// The `quote_chars` define the quotes, use NULL for the default `"\'\""` quotes.
|
||||
/// @see ic_complete_word() which uses the default values for `non_word_chars`, `quote_chars` and `\` for escape characters.
|
||||
void ic_complete_qword_ex( ic_completion_env_t* cenv, const char* prefix, ic_completer_fun_t fun,
|
||||
ic_is_char_class_fun_t* is_word_char, char escape_char, const char* quote_chars );
|
||||
|
||||
/// \}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
/// \defgroup highlight Syntax Highlighting
|
||||
/// Basic syntax highlighting.
|
||||
/// \{
|
||||
|
||||
/// A syntax highlight environment
|
||||
struct ic_highlight_env_s;
|
||||
typedef struct ic_highlight_env_s ic_highlight_env_t;
|
||||
|
||||
/// A syntax highlighter callback that is called by readline to syntax highlight user input.
|
||||
typedef void (ic_highlight_fun_t)(ic_highlight_env_t* henv, const char* input, void* arg);
|
||||
|
||||
/// Set a syntax highlighter.
|
||||
/// There can only be one highlight function, setting it again disables the previous one.
|
||||
void ic_set_default_highlighter(ic_highlight_fun_t* highlighter, void* arg);
|
||||
|
||||
/// Set the style of characters starting at position `pos`.
|
||||
void ic_highlight(ic_highlight_env_t* henv, long pos, long count, const char* style );
|
||||
|
||||
/// Experimental: Convenience callback for a function that highlights `s` using bbcode's.
|
||||
/// The returned string should be allocated and is free'd by the caller.
|
||||
typedef char* (ic_highlight_format_fun_t)(const char* s, void* arg);
|
||||
|
||||
/// Experimental: Convenience function for highlighting with bbcodes.
|
||||
/// Can be called in a `ic_highlight_fun_t` callback to colorize the `input` using the
|
||||
/// the provided `formatted` input that is the styled `input` with bbcodes. The
|
||||
/// content of `formatted` without bbcode tags should match `input` exactly.
|
||||
void ic_highlight_formatted(ic_highlight_env_t* henv, const char* input, const char* formatted);
|
||||
|
||||
/// \}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// Readline with a specific completer and highlighter
|
||||
//--------------------------------------------------------------
|
||||
|
||||
/// \defgroup readline
|
||||
/// \{
|
||||
|
||||
/// Read input from the user using rich editing abilities,
|
||||
/// using a particular completion function and highlighter for this call only.
|
||||
/// both can be NULL in which case the defaults are used.
|
||||
/// @see ic_readline(), ic_set_prompt_marker(), ic_set_default_completer(), ic_set_default_highlighter().
|
||||
char* ic_readline_ex(const char* prompt_text, ic_completer_fun_t* completer, void* completer_arg,
|
||||
ic_highlight_fun_t* highlighter, void* highlighter_arg);
|
||||
|
||||
/// \}
|
||||
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// Options
|
||||
//--------------------------------------------------------------
|
||||
|
||||
/// \defgroup options Options
|
||||
/// \{
|
||||
|
||||
/// Set a prompt marker and a potential marker for extra lines with multiline input.
|
||||
/// Pass \a NULL for the `prompt_marker` for the default marker (`"> "`).
|
||||
/// Pass \a NULL for continuation prompt marker to make it equal to the `prompt_marker`.
|
||||
void ic_set_prompt_marker( const char* prompt_marker, const char* continuation_prompt_marker );
|
||||
|
||||
/// Get the current prompt marker.
|
||||
const char* ic_get_prompt_marker(void);
|
||||
|
||||
/// Get the current continuation prompt marker.
|
||||
const char* ic_get_continuation_prompt_marker(void);
|
||||
|
||||
/// Disable or enable multi-line input (enabled by default).
|
||||
/// Returns the previous setting.
|
||||
bool ic_enable_multiline( bool enable );
|
||||
|
||||
/// Disable or enable sound (enabled by default).
|
||||
/// A beep is used when tab cannot find any completion for example.
|
||||
/// Returns the previous setting.
|
||||
bool ic_enable_beep( bool enable );
|
||||
|
||||
/// Disable or enable color output (enabled by default).
|
||||
/// Returns the previous setting.
|
||||
bool ic_enable_color( bool enable );
|
||||
|
||||
/// Disable or enable duplicate entries in the history (disabled by default).
|
||||
/// Returns the previous setting.
|
||||
bool ic_enable_history_duplicates( bool enable );
|
||||
|
||||
/// Disable or enable automatic tab completion after a completion
|
||||
/// to expand as far as possible if the completions are unique. (disabled by default).
|
||||
/// Returns the previous setting.
|
||||
bool ic_enable_auto_tab( bool enable );
|
||||
|
||||
/// Disable or enable preview of a completion selection (enabled by default)
|
||||
/// Returns the previous setting.
|
||||
bool ic_enable_completion_preview( bool enable );
|
||||
|
||||
/// Disable or enable automatic identation of continuation lines in multiline
|
||||
/// input so it aligns with the initial prompt.
|
||||
/// Returns the previous setting.
|
||||
bool ic_enable_multiline_indent(bool enable);
|
||||
|
||||
/// Disable or enable display of short help messages for history search etc.
|
||||
/// (full help is always dispayed when pressing F1 regardless of this setting)
|
||||
/// @returns the previous setting.
|
||||
bool ic_enable_inline_help(bool enable);
|
||||
|
||||
/// Disable or enable hinting (enabled by default)
|
||||
/// Shows a hint inline when there is a single possible completion.
|
||||
/// @returns the previous setting.
|
||||
bool ic_enable_hint(bool enable);
|
||||
|
||||
/// Set millisecond delay before a hint is displayed. Can be zero. (500ms by default).
|
||||
long ic_set_hint_delay(long delay_ms);
|
||||
|
||||
/// Disable or enable syntax highlighting (enabled by default).
|
||||
/// This applies regardless whether a syntax highlighter callback was set (`ic_set_highlighter`)
|
||||
/// Returns the previous setting.
|
||||
bool ic_enable_highlight(bool enable);
|
||||
|
||||
|
||||
/// Set millisecond delay for reading escape sequences in order to distinguish
|
||||
/// a lone ESC from the start of a escape sequence. The defaults are 100ms and 10ms,
|
||||
/// but it may be increased if working with very slow terminals.
|
||||
void ic_set_tty_esc_delay(long initial_delay_ms, long followup_delay_ms);
|
||||
|
||||
/// Enable highlighting of matching braces (and error highlight unmatched braces).`
|
||||
bool ic_enable_brace_matching(bool enable);
|
||||
|
||||
/// Set matching brace pairs.
|
||||
/// Pass \a NULL for the default `"()[]{}"`.
|
||||
void ic_set_matching_braces(const char* brace_pairs);
|
||||
|
||||
/// Enable automatic brace insertion (enabled by default).
|
||||
bool ic_enable_brace_insertion(bool enable);
|
||||
|
||||
/// Set matching brace pairs for automatic insertion.
|
||||
/// Pass \a NULL for the default `()[]{}\"\"''`
|
||||
void ic_set_insertion_braces(const char* brace_pairs);
|
||||
|
||||
/// \}
|
||||
|
||||
|
||||
//--------------------------------------------------------------
|
||||
// Advanced Completion
|
||||
//--------------------------------------------------------------
|
||||
|
||||
/// \defgroup completex Advanced Completion
|
||||
/// \{
|
||||
|
||||
/// Get the raw current input (and cursor position if `cursor` != NULL) for the completion.
|
||||
/// Usually completer functions should look at their `prefix` though as transformers
|
||||
/// like `ic_complete_word` may modify the prefix (for example, unescape it).
|
||||
const char* ic_completion_input( ic_completion_env_t* cenv, long* cursor );
|
||||
|
||||
/// Get the completion argument passed to `ic_set_completer`.
|
||||
void* ic_completion_arg( const ic_completion_env_t* cenv );
|
||||
|
||||
/// Do we have already some completions?
|
||||
bool ic_has_completions( const ic_completion_env_t* cenv );
|
||||
|
||||
/// Do we already have enough completions and should we return if possible? (for improved latency)
|
||||
bool ic_stop_completing( const ic_completion_env_t* cenv);
|
||||
|
||||
|
||||
/// Primitive completion, cannot be used with most transformers (like `ic_complete_word` and `ic_complete_qword`).
|
||||
/// When completed, `delete_before` _bytes_ are deleted before the cursor position,
|
||||
/// `delete_after` _bytes_ are deleted after the cursor, and finally `completion` is inserted.
|
||||
/// The `display` is used to display the completion in the completion menu, and `help` is displayed
|
||||
/// with hinting. Both `display` and `help` can be NULL.
|
||||
/// (all are copied by isocline and do not need to be preserved or allocated).
|
||||
///
|
||||
/// Returns `true` if the callback should continue trying to find more possible completions.
|
||||
/// If `false` is returned, the callback should try to return and not add more completions (for improved latency).
|
||||
bool ic_add_completion_prim( ic_completion_env_t* cenv, const char* completion,
|
||||
const char* display, const char* help,
|
||||
long delete_before, long delete_after);
|
||||
|
||||
/// \}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
/// \defgroup helper Character Classes.
|
||||
/// Convenience functions for character classes, highlighting and completion.
|
||||
/// \{
|
||||
|
||||
/// Convenience: return the position of a previous code point in a UTF-8 string `s` from postion `pos`.
|
||||
/// Returns `-1` if `pos <= 0` or `pos > strlen(s)` (or other errors).
|
||||
long ic_prev_char( const char* s, long pos );
|
||||
|
||||
/// Convenience: return the position of the next code point in a UTF-8 string `s` from postion `pos`.
|
||||
/// Returns `-1` if `pos < 0` or `pos >= strlen(s)` (or other errors).
|
||||
long ic_next_char( const char* s, long pos );
|
||||
|
||||
/// Convenience: does a string `s` starts with a given `prefix` ?
|
||||
bool ic_starts_with( const char* s, const char* prefix );
|
||||
|
||||
/// Convenience: does a string `s` starts with a given `prefix` ignoring (ascii) case?
|
||||
bool ic_istarts_with( const char* s, const char* prefix );
|
||||
|
||||
|
||||
/// Convenience: character class for whitespace `[ \t\r\n]`.
|
||||
bool ic_char_is_white(const char* s, long len);
|
||||
|
||||
/// Convenience: character class for non-whitespace `[^ \t\r\n]`.
|
||||
bool ic_char_is_nonwhite(const char* s, long len);
|
||||
|
||||
/// Convenience: character class for separators.
|
||||
/// (``[ \t\r\n,.;:/\\(){}\[\]]``.)
|
||||
/// This is used for word boundaries in isocline.
|
||||
bool ic_char_is_separator(const char* s, long len);
|
||||
|
||||
/// Convenience: character class for non-separators.
|
||||
bool ic_char_is_nonseparator(const char* s, long len);
|
||||
|
||||
/// Convenience: character class for letters (`[A-Za-z]` and any unicode > 0x80).
|
||||
bool ic_char_is_letter(const char* s, long len);
|
||||
|
||||
/// Convenience: character class for digits (`[0-9]`).
|
||||
bool ic_char_is_digit(const char* s, long len);
|
||||
|
||||
/// Convenience: character class for hexadecimal digits (`[A-Fa-f0-9]`).
|
||||
bool ic_char_is_hexdigit(const char* s, long len);
|
||||
|
||||
/// Convenience: character class for identifier letters (`[A-Za-z0-9_-]` and any unicode > 0x80).
|
||||
bool ic_char_is_idletter(const char* s, long len);
|
||||
|
||||
/// Convenience: character class for filename letters (_not in_ " \t\r\n`@$><=;|&\{\}\(\)\[\]]").
|
||||
bool ic_char_is_filename_letter(const char* s, long len);
|
||||
|
||||
|
||||
/// Convenience: If this is a token start, return the length. Otherwise return 0.
|
||||
long ic_is_token(const char* s, long pos, ic_is_char_class_fun_t* is_token_char);
|
||||
|
||||
/// Convenience: Does this match the specified token?
|
||||
/// Ensures not to match prefixes or suffixes, and returns the length of the match (in bytes).
|
||||
/// E.g. `ic_match_token("function",0,&ic_char_is_letter,"fun")` returns 0.
|
||||
/// while `ic_match_token("fun x",0,&ic_char_is_letter,"fun"})` returns 3.
|
||||
long ic_match_token(const char* s, long pos, ic_is_char_class_fun_t* is_token_char, const char* token);
|
||||
|
||||
|
||||
/// Convenience: Do any of the specified tokens match?
|
||||
/// Ensures not to match prefixes or suffixes, and returns the length of the match (in bytes).
|
||||
/// E.g. `ic_match_any_token("function",0,&ic_char_is_letter,{"fun","func",NULL})` returns 0.
|
||||
/// while `ic_match_any_token("func x",0,&ic_char_is_letter,{"fun","func",NULL})` returns 4.
|
||||
long ic_match_any_token(const char* s, long pos, ic_is_char_class_fun_t* is_token_char, const char** tokens);
|
||||
|
||||
/// \}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
/// \defgroup term Terminal
|
||||
///
|
||||
/// Experimental: Low level terminal output.
|
||||
/// Ensures basic ANSI SGR escape sequences are processed
|
||||
/// in a portable way (e.g. on Windows)
|
||||
/// \{
|
||||
|
||||
/// Initialize for terminal output.
|
||||
/// Call this before using the terminal write functions (`ic_term_write`)
|
||||
/// Does nothing on most platforms but on Windows it sets the console to UTF8 output and possible
|
||||
/// enables virtual terminal processing.
|
||||
void ic_term_init(void);
|
||||
|
||||
/// Call this when done with the terminal functions.
|
||||
void ic_term_done(void);
|
||||
|
||||
/// Flush the terminal output.
|
||||
/// (happens automatically on newline characters ('\n') as well).
|
||||
void ic_term_flush(void);
|
||||
|
||||
/// Write a string to the console (and process CSI escape sequences).
|
||||
void ic_term_write(const char* s);
|
||||
|
||||
/// Write a string to the console and end with a newline
|
||||
/// (and process CSI escape sequences).
|
||||
void ic_term_writeln(const char* s);
|
||||
|
||||
/// Write a formatted string to the console.
|
||||
/// (and process CSI escape sequences)
|
||||
void ic_term_writef(const char* fmt, ...);
|
||||
|
||||
/// Write a formatted string to the console.
|
||||
void ic_term_vwritef(const char* fmt, va_list args);
|
||||
|
||||
/// Set text attributes from a style.
|
||||
void ic_term_style( const char* style );
|
||||
|
||||
/// Set text attribute to bold.
|
||||
void ic_term_bold(bool enable);
|
||||
|
||||
/// Set text attribute to underline.
|
||||
void ic_term_underline(bool enable);
|
||||
|
||||
/// Set text attribute to italic.
|
||||
void ic_term_italic(bool enable);
|
||||
|
||||
/// Set text attribute to reverse video.
|
||||
void ic_term_reverse(bool enable);
|
||||
|
||||
/// Set text attribute to ansi color palette index between 0 and 255 (or 256 for the ANSI "default" color).
|
||||
/// (auto matched to smaller palette if not supported)
|
||||
void ic_term_color_ansi(bool foreground, int color);
|
||||
|
||||
/// Set text attribute to 24-bit RGB color (between `0x000000` and `0xFFFFFF`).
|
||||
/// (auto matched to smaller palette if not supported)
|
||||
void ic_term_color_rgb(bool foreground, uint32_t color );
|
||||
|
||||
/// Reset the text attributes.
|
||||
void ic_term_reset( void );
|
||||
|
||||
/// Get the palette used by the terminal:
|
||||
/// This is usually initialized from the COLORTERM environment variable. The
|
||||
/// possible values of COLORTERM for each palette are given in parenthesis.
|
||||
///
|
||||
/// - 1: monochrome (`monochrome`)
|
||||
/// - 3: old ANSI terminal with 8 colors, using bold for bright (`8color`/`3bit`)
|
||||
/// - 4: regular ANSI terminal with 16 colors. (`16color`/`4bit`)
|
||||
/// - 8: terminal with ANSI 256 color palette. (`256color`/`8bit`)
|
||||
/// - 24: true-color terminal with full RGB colors. (`truecolor`/`24bit`/`direct`)
|
||||
int ic_term_get_color_bits( void );
|
||||
|
||||
/// \}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
/// \defgroup async ASync
|
||||
/// Async support
|
||||
/// \{
|
||||
|
||||
/// Thread-safe way to asynchronously unblock a readline.
|
||||
/// Behaves as if the user pressed the `ctrl-C` character
|
||||
/// (resulting in returning NULL from `ic_readline`).
|
||||
/// Returns `true` if the event was successfully delivered.
|
||||
/// (This may not be supported on all platforms, but it is
|
||||
/// functional on Linux, macOS and Windows).
|
||||
bool ic_async_stop(void);
|
||||
|
||||
/// \}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
/// \defgroup alloc Custom Allocation
|
||||
/// Register allocation functions for custom allocators
|
||||
/// \{
|
||||
|
||||
typedef void* (ic_malloc_fun_t)( size_t size );
|
||||
typedef void* (ic_realloc_fun_t)( void* p, size_t newsize );
|
||||
typedef void (ic_free_fun_t)( void* p );
|
||||
|
||||
/// Initialize with custom allocation functions.
|
||||
/// This must be called as the first function in a program!
|
||||
void ic_init_custom_alloc( ic_malloc_fun_t* _malloc, ic_realloc_fun_t* _realloc, ic_free_fun_t* _free );
|
||||
|
||||
/// Free a potentially custom alloc'd pointer (in particular, the result returned from `ic_readline`)
|
||||
void ic_free( void* p );
|
||||
|
||||
/// Allocate using the current memory allocator.
|
||||
void* ic_malloc(size_t sz);
|
||||
|
||||
/// Duplicate a string using the current memory allocator.
|
||||
const char* ic_strdup( const char* s );
|
||||
|
||||
/// \}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /// IC_ISOCLINE_H
|
99
bin/isocline/isocline.cabal
Normal file
99
bin/isocline/isocline.cabal
Normal file
@ -0,0 +1,99 @@
|
||||
cabal-version: 1.12
|
||||
|
||||
-- This file has been generated from package.yaml by hpack version 0.34.6.
|
||||
--
|
||||
-- see: https://github.com/sol/hpack
|
||||
|
||||
name: isocline
|
||||
version: 1.0.9
|
||||
synopsis: A portable alternative to GNU Readline
|
||||
description:  A Haskell wrapper around the [Isocline C library](https://github.com/daanx/isocline#readme) which can provide an alternative to GNU Readline. (The Isocline library is included whole and there are no runtime dependencies).
|
||||
Please see the [readme](https://github.com/daanx/isocline/haskell#readme) on GitHub for more information.
|
||||
category: console
|
||||
homepage: https://github.com/daanx/isocline#readme
|
||||
bug-reports: https://github.com/daanx/isocline/issues
|
||||
author: Daan Leijen
|
||||
maintainer: daan@effp.org
|
||||
license: MIT
|
||||
license-file: LICENSE
|
||||
build-type: Simple
|
||||
extra-source-files:
|
||||
haskell/readme.md
|
||||
src/attr.c
|
||||
src/bbcode.c
|
||||
src/bbcode_colors.c
|
||||
src/common.c
|
||||
src/completers.c
|
||||
src/completions.c
|
||||
src/editline.c
|
||||
src/editline_completion.c
|
||||
src/editline_help.c
|
||||
src/editline_history.c
|
||||
src/highlight.c
|
||||
src/history.c
|
||||
src/isocline.c
|
||||
src/stringbuf.c
|
||||
src/term.c
|
||||
src/term_color.c
|
||||
src/tty.c
|
||||
src/tty_esc.c
|
||||
src/undo.c
|
||||
src/wcwidth.c
|
||||
src/attr.h
|
||||
src/bbcode.h
|
||||
src/common.h
|
||||
src/completions.h
|
||||
src/env.h
|
||||
src/highlight.h
|
||||
src/history.h
|
||||
src/stringbuf.h
|
||||
src/term.h
|
||||
src/tty.h
|
||||
src/undo.h
|
||||
include/isocline.h
|
||||
|
||||
source-repository head
|
||||
type: git
|
||||
location: https://github.com/daanx/isocline
|
||||
|
||||
library
|
||||
exposed-modules:
|
||||
System.Console.Isocline
|
||||
other-modules:
|
||||
Paths_isocline
|
||||
hs-source-dirs:
|
||||
haskell
|
||||
c-sources:
|
||||
src/isocline.c
|
||||
build-depends:
|
||||
base >=3.0 && <5
|
||||
, bytestring
|
||||
, text
|
||||
default-language: Haskell2010
|
||||
|
||||
executable example
|
||||
main-is: Example.hs
|
||||
other-modules:
|
||||
Paths_isocline
|
||||
hs-source-dirs:
|
||||
test
|
||||
build-depends:
|
||||
base >=3.0 && <5
|
||||
, bytestring
|
||||
, isocline
|
||||
, text
|
||||
default-language: Haskell2010
|
||||
|
||||
test-suite test-example
|
||||
type: exitcode-stdio-1.0
|
||||
main-is: Example.hs
|
||||
other-modules:
|
||||
Paths_isocline
|
||||
hs-source-dirs:
|
||||
test
|
||||
build-depends:
|
||||
base >=3.0 && <5
|
||||
, bytestring
|
||||
, isocline
|
||||
, text
|
||||
default-language: Haskell2010
|
47
bin/isocline/package.yaml
Normal file
47
bin/isocline/package.yaml
Normal file
@ -0,0 +1,47 @@
|
||||
name: isocline
|
||||
version: 1.0.9
|
||||
github: "daanx/isocline"
|
||||
license: MIT
|
||||
author: Daan Leijen
|
||||
maintainer: daan@effp.org
|
||||
synopsis: A portable alternative to GNU Readline
|
||||
category: console
|
||||
|
||||
extra-source-files:
|
||||
- haskell/readme.md
|
||||
- src/*.c
|
||||
- src/*.h
|
||||
- include/*.h
|
||||
|
||||
description:
|
||||
"
|
||||
A Haskell wrapper around the [Isocline C library](https://github.com/daanx/isocline#readme)
|
||||
which can provide an alternative to GNU Readline.
|
||||
(The Isocline library is included whole and there are no runtime dependencies).
|
||||
|
||||
Please see the [readme](https://github.com/daanx/isocline/haskell#readme) on GitHub for more information."
|
||||
|
||||
dependencies:
|
||||
- base >= 3.0 && < 5
|
||||
- bytestring
|
||||
- text
|
||||
|
||||
library:
|
||||
source-dirs:
|
||||
- haskell
|
||||
c-sources:
|
||||
- src/isocline.c
|
||||
|
||||
executables:
|
||||
example:
|
||||
main: Example.hs
|
||||
source-dirs: test
|
||||
dependencies:
|
||||
- isocline
|
||||
|
||||
tests:
|
||||
test-example:
|
||||
main: Example.hs
|
||||
source-dirs: test
|
||||
dependencies:
|
||||
- isocline
|
473
bin/isocline/readme.md
Normal file
473
bin/isocline/readme.md
Normal file
@ -0,0 +1,473 @@
|
||||
<!-- <img align="right" width="350px" src="doc/completion-macos.png"/> -->
|
||||
|
||||
<img align="left" src="doc/isocline-inline.svg"/>
|
||||
|
||||
# Isocline: a portable readline alternative.
|
||||
|
||||
Isocline is a pure C library that can be used as an alternative to the GNU readline library (latest release v1.0.9, 2022-01-15).
|
||||
|
||||
- Small: less than 8k lines and can be compiled as a single C file without
|
||||
any dependencies or configuration (e.g. `gcc -c src/isocline.c`).
|
||||
|
||||
- Portable: works on Unix, Windows, and macOS, and uses a minimal
|
||||
subset of ANSI escape sequences.
|
||||
|
||||
- Features: extensive multi-line editing mode (`shift-tab`), (24-bit) color, history, completion, unicode,
|
||||
undo/redo, incremental history search, inline hints, syntax highlighting, brace matching,
|
||||
closing brace insertion, auto indentation, graceful fallback, support for custom allocators, etc.
|
||||
|
||||
- License: MIT.
|
||||
|
||||
- Comes with a Haskell binding ([`System.Console.Isocline`][hdoc].
|
||||
|
||||
Enjoy,
|
||||
Daan
|
||||
|
||||
<!-- <img align="right" width="350px" src="doc/history-win.png"/> -->
|
||||
|
||||
# Demo
|
||||
|
||||

|
||||
|
||||
Shows in order: unicode, syntax highlighting, brace matching, jump to matching brace, auto indent, multiline editing, 24-bit colors, inline hinting, filename completion, and incremental history search.
|
||||
<sub>(screen capture was made with [termtosvg] by Nicolas Bedos)</sub>
|
||||
|
||||
# Usage
|
||||
|
||||
Include the isocline header in your C or C++ source:
|
||||
```C
|
||||
#include <include/isocline.h>
|
||||
```
|
||||
|
||||
and call `ic_readline` to get user input with rich editing abilities:
|
||||
```C
|
||||
char* input;
|
||||
while( (input = ic_readline("prompt")) != NULL ) { // ctrl+d/c or errors return NULL
|
||||
printf("you typed:\n%s\n", input); // use the input
|
||||
free(input);
|
||||
}
|
||||
```
|
||||
|
||||
See the [example] for a full example with completion, syntax highligting, history, etc.
|
||||
|
||||
# Run the Example
|
||||
|
||||
You can compile and run the [example] as:
|
||||
```
|
||||
$ gcc -o example -Iinclude test/example.c src/isocline.c
|
||||
$ ./example
|
||||
```
|
||||
|
||||
or, the Haskell [example][HaskellExample]:
|
||||
```
|
||||
$ ghc -ihaskell test/Example.hs src/isocline.c
|
||||
$ ./test/Example
|
||||
```
|
||||
|
||||
|
||||
# Editing with Isocline
|
||||
|
||||
Isocline tries to be as compatible as possible with standard [GNU Readline] key bindings.
|
||||
|
||||
### Overview:
|
||||
```apl
|
||||
home/ctrl-a cursor end/ctrl-e
|
||||
┌─────────────────┼───────────────┐ (navigate)
|
||||
│ ctrl-left │ ctrl-right │
|
||||
│ ┌───────┼──────┐ │ ctrl-r : search history
|
||||
▼ ▼ ▼ ▼ ▼ tab : complete word
|
||||
prompt> it is the quintessential language shift-tab: insert new line
|
||||
▲ ▲ ▲ ▲ esc : delete input, done
|
||||
│ └──────────────┘ │ ctrl-z : undo
|
||||
│ alt-backsp alt-d │
|
||||
└─────────────────────────────────┘ (delete)
|
||||
ctrl-u ctrl-k
|
||||
```
|
||||
|
||||
<sub>Note: on macOS, the meta (alt) key is not directly available in most terminals.
|
||||
Terminal/iTerm2 users can activate the meta key through
|
||||
`Terminal` → `Preferences` → `Settings` → `Use option as meta key`.</sub>
|
||||
|
||||
### Key Bindings
|
||||
|
||||
These are also shown when pressing `F1` on a Isocline prompt. We use `^` as a shorthand for `ctrl-`:
|
||||
|
||||
| Navigation | |
|
||||
|-------------------|-------------------------------------------------|
|
||||
| `left`,`^b` | go one character to the left |
|
||||
| `right`,`^f ` | go one character to the right |
|
||||
| `up ` | go one row up, or back in the history |
|
||||
| `down ` | go one row down, or forward in the history |
|
||||
| `^left ` | go to the start of the previous word |
|
||||
| `^right ` | go to the end the current word |
|
||||
| `home`,`^a ` | go to the start of the current line |
|
||||
| `end`,`^e ` | go to the end of the current line |
|
||||
| `pgup`,`^home ` | go to the start of the current input |
|
||||
| `pgdn`,`^end ` | go to the end of the current input |
|
||||
| `alt-m ` | jump to matching brace |
|
||||
| `^p ` | go back in the history |
|
||||
| `^n ` | go forward in the history |
|
||||
| `^r`,`^s ` | search the history starting with the current word |
|
||||
|
||||
|
||||
| Deletion | |
|
||||
|-------------------|-------------------------------------------------|
|
||||
| `del`,`^d ` | delete the current character |
|
||||
| `backsp`,`^h ` | delete the previous character |
|
||||
| `^w ` | delete to preceding white space |
|
||||
| `alt-backsp ` | delete to the start of the current word |
|
||||
| `alt-d ` | delete to the end of the current word |
|
||||
| `^u ` | delete to the start of the current line |
|
||||
| `^k ` | delete to the end of the current line |
|
||||
| `esc ` | delete the current input, or done with empty input |
|
||||
|
||||
|
||||
| Editing | |
|
||||
|-------------------|-------------------------------------------------|
|
||||
| `enter ` | accept current input |
|
||||
| `^enter`,`^j`,`shift-tab` | create a new line for multi-line input |
|
||||
| `^l ` | clear screen |
|
||||
| `^t ` | swap with previous character (move character backward) |
|
||||
| `^z`,`^_ ` | undo |
|
||||
| `^y ` | redo |
|
||||
| `tab ` | try to complete the current input |
|
||||
|
||||
|
||||
| Completion menu | |
|
||||
|-------------------|-------------------------------------------------|
|
||||
| `enter`,`left` | use the currently selected completion |
|
||||
| `1` - `9` | use completion N from the menu |
|
||||
| `tab, down ` | select the next completion |
|
||||
| `shift-tab, up` | select the previous completion |
|
||||
| `esc ` | exit menu without completing |
|
||||
| `pgdn`,`^enter`,`^j` | show all further possible completions |
|
||||
|
||||
|
||||
| Incremental history search | |
|
||||
|-------------------|-------------------------------------------------|
|
||||
| `enter ` | use the currently found history entry |
|
||||
| `backsp`,`^z ` | go back to the previous match (undo) |
|
||||
| `tab`,`^r`,`up` | find the next match |
|
||||
| `shift-tab`,`^s`,`down` | find an earlier match |
|
||||
| `esc ` | exit search |
|
||||
|
||||
|
||||
# Build the Library
|
||||
|
||||
### Build as a Single Source
|
||||
|
||||
Copy the sources (in `include` and `src`) into your project, or add the library as a [submodule]:
|
||||
```
|
||||
$ git submodule add https://github.com/daanx/isocline
|
||||
```
|
||||
and add `isocline/src/isocline.c` to your build rules -- no configuration is needed.
|
||||
|
||||
### Build with CMake
|
||||
|
||||
Clone the repository and run cmake to build a static library (`.a`/`.lib`):
|
||||
```
|
||||
$ git clone https://github.com/daanx/isocline
|
||||
$ cd isocline
|
||||
$ mkdir -p build/release
|
||||
$ cd build/release
|
||||
$ cmake ../..
|
||||
$ cmake --build .
|
||||
```
|
||||
This builds a static library `libisocline.a` (or `isocline.lib` on Windows)
|
||||
and the example program:
|
||||
```
|
||||
$ ./example
|
||||
```
|
||||
|
||||
### Build the Haskell Library
|
||||
|
||||
See the Haskell [readme][Haskell] for instructions to build and use the Haskell library.
|
||||
|
||||
|
||||
# API Reference
|
||||
|
||||
* See the [C API reference][docapi] and the [example] for example usage of history, completion, etc.
|
||||
|
||||
* See the [Haskell API reference][hdoc] on Hackage and the Haskell [example][HaskellExample].
|
||||
|
||||
|
||||
# Motivation
|
||||
|
||||
Isocline was created for use in the [Koka] interactive compiler.
|
||||
This required: pure C (no dependency on a C++ runtime or other libraries),
|
||||
portable (across Linux, macOS, and Windows), unicode support,
|
||||
a BSD-style license, and good functionality for completion and multi-line editing.
|
||||
|
||||
Some other excellent libraries that we considered:
|
||||
[GNU readline],
|
||||
[editline](https://github.com/troglobit/editline),
|
||||
[linenoise](https://github.com/antirez/linenoise),
|
||||
[replxx](https://github.com/AmokHuginnsson/replxx), and
|
||||
[Haskeline](https://github.com/judah/haskeline).
|
||||
|
||||
|
||||
# Formatted Output
|
||||
|
||||
Isocline also exposes functions for rich terminal output
|
||||
as `ic_print` (and `ic_println` and `ic_printf`).
|
||||
Inspired by the (Python) [Rich][RichBBcode] library,
|
||||
this supports a form of [bbcode]'s to format the output:
|
||||
```c
|
||||
ic_println( "[b]bold [red]and red[/red][/b]" );
|
||||
```
|
||||
Each print automatically closes any open tags that were
|
||||
not yet closed. Also, you can use a general close
|
||||
tag as `[/]` to close the innermost tag, so the
|
||||
following print is equivalent to the earlier one:
|
||||
```c
|
||||
ic_println( "[b]bold [red]and red[/]" );
|
||||
```
|
||||
There can be multiple styles in one tag
|
||||
(where the first name is used for the closing tag):
|
||||
```c
|
||||
ic_println( "[u #FFD700]underlined gold[/]" );
|
||||
```
|
||||
|
||||
Sometimes, you need to display arbitrary messages
|
||||
that may contain sequences that you would not like
|
||||
to be interpreted as bbcode tags. One way to do
|
||||
this is the `[!`_tag_`]` which ignores formatting
|
||||
up to a close tag of the form `[/`_tag_`]`.
|
||||
```c
|
||||
ic_printf( "[red]red? [!pre]%s[/pre].\n", "[blue]not blue!" );
|
||||
```
|
||||
|
||||
Predefined styles include `b` (bold),
|
||||
`u` (underline), `i` (italic), and `r` (reverse video), but
|
||||
you can (re)define any style yourself as:
|
||||
```c
|
||||
ic_style_def("warning", "crimson u");
|
||||
```
|
||||
|
||||
and use them like any builtin style or property:
|
||||
```c
|
||||
ic_println( "[warning]this is a warning![/]" );
|
||||
```
|
||||
which is great for adding themes to your application.
|
||||
|
||||
Each `ic_print` function always closes any unclosed tags automatically.
|
||||
To open a style persistently, use `ic_style_open` with a matching
|
||||
`ic_style_close` which scopes over any `ic_print` statements in between.
|
||||
```c
|
||||
ic_style_open("warning");
|
||||
ic_println("[b]crimson underlined and bold[/]");
|
||||
ic_style_close();
|
||||
```
|
||||
|
||||
# Advanced
|
||||
|
||||
|
||||
## BBCode Format
|
||||
|
||||
An open tag can have multiple white space separated
|
||||
entries that are
|
||||
either a _style name_, or a primitive _property_[`=`_value_].
|
||||
|
||||
### Styles
|
||||
|
||||
Isocline provides the following builtin styles as property shorthands:
|
||||
`b` (bold), `u` (underline), `i` (italic), `r` (reverse video),
|
||||
and some builtin styles for syntax highlighting:
|
||||
`keyword`, `control` (control-flow keywords), `string`,
|
||||
`comment`, `number`, `type`, `constant`.
|
||||
|
||||
Predefined styles used by Isocline itself are:
|
||||
|
||||
- `ic-prompt`: prompt style, e.g. `ic_style_def("ic-prompt", "yellow on blue")`.
|
||||
- `ic-info`: information (like the numbers in a completion menu).
|
||||
- `ic-diminish`: dim text (used for example in history search).
|
||||
- `ic-emphasis`: emphasized text (also used in history search).
|
||||
- `ic-hint`: color of an inline hint.
|
||||
- `ic-error`: error color (like an unmatched brace).
|
||||
- `ic-bracematch`: color of matching parenthesis.
|
||||
|
||||
### Properties
|
||||
|
||||
Boolean properties are by default `on`:
|
||||
|
||||
- `bold` [`=`(`on`|`off`)]
|
||||
- `italic` [`=`(`on`|`off`)]
|
||||
- `underline` [`=`(`on`|`off`)]
|
||||
- `reverse` [`=`(`on`|`off`)]
|
||||
|
||||
Color properties can be assigned a _color_:
|
||||
|
||||
- `color=`_color_
|
||||
- `bgcolor=`_color_
|
||||
- _color_: equivalent to `color=`_color_.
|
||||
- `on` _color_: equivalent to `bgcolor=`_color_.
|
||||
|
||||
A color value can be specified in many ways:
|
||||
|
||||
- any standard HTML [color name][htmlcolors].
|
||||
- any of the 16 standard ANSI [color names][ansicolors] by prefixing `ansi-`
|
||||
(like `ansi-black` or `ansi-maroon`).
|
||||
The actual color value of these depend on the a terminal theme.
|
||||
- `#`_rrggbb_ or `#`_rgb_ for a specific 24-bit color.
|
||||
- `ansi-color=`_idx_ or `ansi-bgcolor=`_idx_, where _idx_ specifies an entry in the
|
||||
standard ANSI 256 [color palette][ansicolor256] (between 0 and 255).
|
||||
Use _idx_ 256 for the ANSI default color.
|
||||
|
||||
The `width` property makes the text at least _width_ long:
|
||||
|
||||
- `width=`_width_ [`;`_align_ [`;`_fill_] ]
|
||||
|
||||
where _width_ is the column with, _align_ is `left`, `center`, or `right`,
|
||||
and _fill_ the fill character (`' '`).
|
||||
|
||||
The _maxwidth_ property makes text at most _width_ long; when the content
|
||||
it is wider, the left- or right side (depending on the alignment)
|
||||
will have three dots (`...`) to visualize that content is cut off.
|
||||
|
||||
- `maxwidth=`_width_ [`;`_align_]
|
||||
|
||||
|
||||
## Environment Variables
|
||||
|
||||
- `NO_COLOR`: if present no colors are displayed.
|
||||
- `CLICOLOR=1`: if set, the `LSCOLORS` or `LS_COLORS` environment variables are used to colorize
|
||||
filename completions.
|
||||
- `COLORTERM=`(`truecolor`|`256color`|`16color`|`8color`|`monochrome`): enable a certain color palette, see the next section.
|
||||
- `TERM`: used on some systems to determine the color
|
||||
|
||||
## Colors
|
||||
|
||||
Isocline supports 24-bit colors and any RGB colors are automatically
|
||||
mapped to a reduced palette on older terminals if these do not
|
||||
support true color. Detection of full color support
|
||||
is not always possible to do automatically and you can
|
||||
set the `COLORTERM` environment variable expicitly to force Isocline to use
|
||||
a specific palette:
|
||||
- `COLORTERM=truecolor`: use 24-bit colors.
|
||||
<img width="500px" src="doc/color/ansi-truecolor.png"/>
|
||||
- `COLORTERM=256color`: use the ANSI 256 color palette.
|
||||
<img width="500px" src="doc/color/ansi-256color.png"/>
|
||||
- `COLORTERM=16color` : use the regular ANSI 16 color
|
||||
palette (8 normal and 8 bright colors).
|
||||
<img width="500px" src="doc/color/ansi-16color.png"/>
|
||||
- `COLORTERM=8color`: use bold for bright colors.
|
||||
- `COLORTERM=monochrome`: use no color.
|
||||
|
||||
The above screenshots are made with the
|
||||
[`test_colors.c`](https://github.com/daanx/isocline/blob/main/test/test_colors.c) program. You can test your own
|
||||
terminal as:
|
||||
```
|
||||
$ gcc -o test_colors -Iinclude test/test_colors.c src/isocline.c
|
||||
$ ./test_colors
|
||||
$ COLORTERM=truecolor ./test_colors
|
||||
$ COLORTERM=16color ./test_colors
|
||||
```
|
||||
|
||||
## ANSI Escape Sequences
|
||||
|
||||
Isocline uses just few ANSI escape sequences that are widely
|
||||
supported:
|
||||
- `ESC[`_n_`A`, `ESC[`_n_`B`, `ESC[`_n_`C`, and `ESC[`_n_`D`,
|
||||
for moving the cursor _n_ places up, down, right, and left.
|
||||
- `ESC[K` to clear the line from the cursor.
|
||||
- `ESC[`_n_`m` for colors, with _n_ one of: 0 (reset), 1,22 (bold), 3,23 (italic),
|
||||
4,24 (underline), 7,27 (reverse), 30-37,40-47,90-97,100-107 (color),
|
||||
and 39,49 (select default color).
|
||||
- `ESC[38;5;`_n_`m`, `ESC[48;5;`_n_`m`, `ESC[38;2;`_r_`;`_g_`;`_b_`m`, `ESC[48;2;`_r_`;`_g_`;`_b_`m`:
|
||||
on terminals that support it, select
|
||||
entry _n_ from the
|
||||
256 color ANSI palette (used with `XTERM=xterm-256color` for example), or directly specify
|
||||
any 24-bit _rgb_ color (used with `COLORTERM=truecolor`) for the foreground or background.
|
||||
|
||||
On Windows the above functionality is implemented using the Windows console API
|
||||
(except if running in the new Windows Terminal which supports these escape
|
||||
sequences natively).
|
||||
|
||||
## Async and Threads
|
||||
|
||||
Isocline is _not_ thread-safe and `ic_readline`_xxx_ and `ic_print`_xxx_ should
|
||||
be used from one thread only.
|
||||
|
||||
The best way to use `ic_readline` asynchronously is
|
||||
to run it in a (blocking) dedicated thread and deliver
|
||||
results from there to the async event loop. Isocline has the
|
||||
```C
|
||||
bool ic_async_stop(void)
|
||||
```
|
||||
function that is thread-safe and can deliver an
|
||||
asynchronous event to Isocline that unblocks a current
|
||||
`ic_readline` and makes it behave as if the user pressed
|
||||
`ctrl-c` (which returns NULL from the read line call).
|
||||
|
||||
## Color Mapping
|
||||
|
||||
To map full RGB colors to an ANSI 256 or 16-color palette
|
||||
Isocline finds a palette color with the minimal "color distance" to
|
||||
the original color. There are various
|
||||
ways of calculating this: one way is to take the euclidean distance
|
||||
in the sRGB space (_simple-rgb_), a slightly better way is to
|
||||
take a weighted distance where the weight distribution is adjusted
|
||||
according to how big the red component is ([redmean](https://en.wikipedia.org/wiki/Color_difference),
|
||||
denoted as _delta-rgb_ in the figure),
|
||||
this is used by Isocline),
|
||||
and finally, we can first translate into a perceptually uniform color space
|
||||
(CIElab) and calculate the distance there using the [CIEDE2000](https://en.wikipedia.org/wiki/Color_difference)
|
||||
algorithm (_ciede2000_). Here are these three methods compared on
|
||||
some colors:
|
||||
|
||||

|
||||
|
||||
Each top row is the true 24-bit RGB color. Surprisingly,
|
||||
the sophisticated CIEDE2000 distance seems less good here compared to the
|
||||
simpler methods (as in the upper left block for example)
|
||||
(perhaps because this algorithm was created to find close
|
||||
perceptual colors in images where lightness differences may be given
|
||||
less weight?). CIEDE2000 also leads to more "outliers", for example as seen
|
||||
in column 5. Given these results, Isocline uses _redmean_ for
|
||||
color mapping. We also add a gray correction that makes it less
|
||||
likely to substitute a color for a gray value (and the other way
|
||||
around).
|
||||
|
||||
|
||||
## Possible Future Extensions
|
||||
|
||||
- Vi key bindings.
|
||||
- kill buffer.
|
||||
- make the `ic_print`_xxx_ functions thread-safe.
|
||||
- extended low-level terminal functions.
|
||||
- status and progress bars.
|
||||
- prompt variants: confirm, etc.
|
||||
- ...
|
||||
|
||||
Contact me if you are interested in doing any of these :-)
|
||||
|
||||
|
||||
# Releases
|
||||
|
||||
* `2022-01-15`: v1.0.9: fix missing `ic_completion_arg` (issue #6),
|
||||
fix null ptr check in ic_print (issue #7), fix crash when using /dev/null as both input and output.
|
||||
* `2021-09-05`: v1.0.5: use our own wcwidth for consistency;
|
||||
thanks to Hans-Georg Breunig for helping with testing on NetBSD.
|
||||
* `2021-08-28`: v1.0.4: fix color query on Ubuntu/Gnome
|
||||
* `2021-08-27`: v1.0.3: fix duplicates in completions
|
||||
* `2021-08-23`: v1.0.2: fix windows eol wrapping
|
||||
* `2021-08-21`: v1.0.1: fix line-buffering
|
||||
* `2021-08-20`: v1.0.0: initial release
|
||||
|
||||
|
||||
|
||||
[GNU readline]: https://tiswww.case.edu/php/chet/readline/rltop.html
|
||||
[koka]: http://www.koka-lang.org
|
||||
[submodule]: https://git-scm.com/book/en/v2/Git-Tools-Submodules
|
||||
[Haskell]: https://github.com/daanx/isocline/tree/main/haskell
|
||||
[HaskellExample]: https://github.com/daanx/isocline/blob/main/test/Example.hs
|
||||
[example]: https://github.com/daanx/isocline/blob/main/test/example.c
|
||||
[termtosvg]: https://github.com/nbedos/termtosvg
|
||||
[Rich]: https://github.com/willmcgugan/rich
|
||||
[RichBBcode]: https://rich.readthedocs.io/en/latest/markup.html
|
||||
[bbcode]: https://en.wikipedia.org/wiki/BBCode
|
||||
[htmlcolors]: https://en.wikipedia.org/wiki/Web_colors#HTML_color_names
|
||||
[ansicolors]: https://en.wikipedia.org/wiki/Web_colors#Basic_colors
|
||||
[ansicolor256]: https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit
|
||||
[docapi]: https://daanx.github.io/isocline
|
||||
[hdoc]: https://hackage.haskell.org/package/isocline/docs/System-Console-Isocline.html
|
294
bin/isocline/src/attr.c
Normal file
294
bin/isocline/src/attr.c
Normal file
@ -0,0 +1,294 @@
|
||||
/* ----------------------------------------------------------------------------
|
||||
Copyright (c) 2021, Daan Leijen
|
||||
This is free software; you can redistribute it and/or modify it
|
||||
under the terms of the MIT License. A copy of the license can be
|
||||
found in the "LICENSE" file at the root of this distribution.
|
||||
-----------------------------------------------------------------------------*/
|
||||
#include <string.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "stringbuf.h" // str_next_ofs
|
||||
#include "attr.h"
|
||||
#include "term.h" // color_from_ansi256
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Attributes
|
||||
//-------------------------------------------------------------
|
||||
|
||||
ic_private attr_t attr_none(void) {
|
||||
attr_t attr;
|
||||
attr.value = 0;
|
||||
return attr;
|
||||
}
|
||||
|
||||
ic_private attr_t attr_default(void) {
|
||||
attr_t attr = attr_none();
|
||||
attr.x.color = IC_ANSI_DEFAULT;
|
||||
attr.x.bgcolor = IC_ANSI_DEFAULT;
|
||||
attr.x.bold = IC_OFF;
|
||||
attr.x.underline = IC_OFF;
|
||||
attr.x.reverse = IC_OFF;
|
||||
attr.x.italic = IC_OFF;
|
||||
return attr;
|
||||
}
|
||||
|
||||
ic_private bool attr_is_none(attr_t attr) {
|
||||
return (attr.value == 0);
|
||||
}
|
||||
|
||||
ic_private bool attr_is_eq(attr_t attr1, attr_t attr2) {
|
||||
return (attr1.value == attr2.value);
|
||||
}
|
||||
|
||||
ic_private attr_t attr_from_color( ic_color_t color ) {
|
||||
attr_t attr = attr_none();
|
||||
attr.x.color = color;
|
||||
return attr;
|
||||
}
|
||||
|
||||
|
||||
ic_private attr_t attr_update_with( attr_t oldattr, attr_t newattr ) {
|
||||
attr_t attr = oldattr;
|
||||
if (newattr.x.color != IC_COLOR_NONE) { attr.x.color = newattr.x.color; }
|
||||
if (newattr.x.bgcolor != IC_COLOR_NONE) { attr.x.bgcolor = newattr.x.bgcolor; }
|
||||
if (newattr.x.bold != IC_NONE) { attr.x.bold = newattr.x.bold; }
|
||||
if (newattr.x.italic != IC_NONE) { attr.x.italic = newattr.x.italic; }
|
||||
if (newattr.x.reverse != IC_NONE) { attr.x.reverse = newattr.x.reverse; }
|
||||
if (newattr.x.underline != IC_NONE) { attr.x.underline = newattr.x.underline; }
|
||||
return attr;
|
||||
}
|
||||
|
||||
static bool sgr_is_digit(char c) {
|
||||
return (c >= '0' && c <= '9');
|
||||
}
|
||||
|
||||
static bool sgr_is_sep( char c ) {
|
||||
return (c==';' || c==':');
|
||||
}
|
||||
|
||||
static bool sgr_next_par(const char* s, ssize_t* pi, ssize_t* par) {
|
||||
const ssize_t i = *pi;
|
||||
ssize_t n = 0;
|
||||
while( sgr_is_digit(s[i+n])) {
|
||||
n++;
|
||||
}
|
||||
if (n==0) {
|
||||
*par = 0;
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
*pi = i+n;
|
||||
return ic_atoz(s+i, par);
|
||||
}
|
||||
}
|
||||
|
||||
static bool sgr_next_par3(const char* s, ssize_t* pi, ssize_t* p1, ssize_t* p2, ssize_t* p3) {
|
||||
bool ok = false;
|
||||
ssize_t i = *pi;
|
||||
if (sgr_next_par(s,&i,p1) && sgr_is_sep(s[i])) {
|
||||
i++;
|
||||
if (sgr_next_par(s,&i,p2) && sgr_is_sep(s[i])) {
|
||||
i++;
|
||||
if (sgr_next_par(s,&i,p3)) {
|
||||
ok = true;
|
||||
};
|
||||
}
|
||||
}
|
||||
*pi = i;
|
||||
return ok;
|
||||
}
|
||||
|
||||
ic_private attr_t attr_from_sgr( const char* s, ssize_t len) {
|
||||
attr_t attr = attr_none();
|
||||
for( ssize_t i = 0; i < len && s[i] != 0; i++) {
|
||||
ssize_t cmd = 0;
|
||||
if (!sgr_next_par(s,&i,&cmd)) continue;
|
||||
switch(cmd) {
|
||||
case 0: attr = attr_default(); break;
|
||||
case 1: attr.x.bold = IC_ON; break;
|
||||
case 3: attr.x.italic = IC_ON; break;
|
||||
case 4: attr.x.underline = IC_ON; break;
|
||||
case 7: attr.x.reverse = IC_ON; break;
|
||||
case 22: attr.x.bold = IC_OFF; break;
|
||||
case 23: attr.x.italic = IC_OFF; break;
|
||||
case 24: attr.x.underline = IC_OFF; break;
|
||||
case 27: attr.x.reverse = IC_OFF; break;
|
||||
case 39: attr.x.color = IC_ANSI_DEFAULT; break;
|
||||
case 49: attr.x.bgcolor = IC_ANSI_DEFAULT; break;
|
||||
default: {
|
||||
if (cmd >= 30 && cmd <= 37) {
|
||||
attr.x.color = IC_ANSI_BLACK + (unsigned)(cmd - 30);
|
||||
}
|
||||
else if (cmd >= 40 && cmd <= 47) {
|
||||
attr.x.bgcolor = IC_ANSI_BLACK + (unsigned)(cmd - 40);
|
||||
}
|
||||
else if (cmd >= 90 && cmd <= 97) {
|
||||
attr.x.color = IC_ANSI_DARKGRAY + (unsigned)(cmd - 90);
|
||||
}
|
||||
else if (cmd >= 100 && cmd <= 107) {
|
||||
attr.x.bgcolor = IC_ANSI_DARKGRAY + (unsigned)(cmd - 100);
|
||||
}
|
||||
else if ((cmd == 38 || cmd == 48) && sgr_is_sep(s[i])) {
|
||||
// non-associative SGR :-(
|
||||
ssize_t par = 0;
|
||||
i++;
|
||||
if (sgr_next_par(s, &i, &par)) {
|
||||
if (par==5 && sgr_is_sep(s[i])) {
|
||||
// ansi 256 index
|
||||
i++;
|
||||
if (sgr_next_par(s, &i, &par) && par >= 0 && par <= 0xFF) {
|
||||
ic_color_t color = color_from_ansi256(par);
|
||||
if (cmd==38) { attr.x.color = color; }
|
||||
else { attr.x.bgcolor = color; }
|
||||
}
|
||||
}
|
||||
else if (par == 2 && sgr_is_sep(s[i])) {
|
||||
// rgb value
|
||||
i++;
|
||||
ssize_t r,g,b;
|
||||
if (sgr_next_par3(s, &i, &r,&g,&b)) {
|
||||
ic_color_t color = ic_rgbx(r,g,b);
|
||||
if (cmd==38) { attr.x.color = color; }
|
||||
else { attr.x.bgcolor = color; }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
debug_msg("attr: unknow ANSI SGR code: %zd\n", cmd );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return attr;
|
||||
}
|
||||
|
||||
ic_private attr_t attr_from_esc_sgr( const char* s, ssize_t len) {
|
||||
if (len <= 2 || s[0] != '\x1B' || s[1] != '[' || s[len-1] != 'm') return attr_none();
|
||||
return attr_from_sgr(s+2, len-2);
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Attribute buffer
|
||||
//-------------------------------------------------------------
|
||||
struct attrbuf_s {
|
||||
attr_t* attrs;
|
||||
ssize_t capacity;
|
||||
ssize_t count;
|
||||
alloc_t* mem;
|
||||
};
|
||||
|
||||
static bool attrbuf_ensure_capacity( attrbuf_t* ab, ssize_t needed ) {
|
||||
if (needed <= ab->capacity) return true;
|
||||
ssize_t newcap = (ab->capacity <= 0 ? 240 : (ab->capacity > 1000 ? ab->capacity + 1000 : 2*ab->capacity));
|
||||
if (needed > newcap) { newcap = needed; }
|
||||
attr_t* newattrs = mem_realloc_tp( ab->mem, attr_t, ab->attrs, newcap );
|
||||
if (newattrs == NULL) return false;
|
||||
ab->attrs = newattrs;
|
||||
ab->capacity = newcap;
|
||||
assert(needed <= ab->capacity);
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool attrbuf_ensure_extra( attrbuf_t* ab, ssize_t extra ) {
|
||||
const ssize_t needed = ab->count + extra;
|
||||
return attrbuf_ensure_capacity( ab, needed );
|
||||
}
|
||||
|
||||
|
||||
ic_private attrbuf_t* attrbuf_new( alloc_t* mem ) {
|
||||
attrbuf_t* ab = mem_zalloc_tp(mem,attrbuf_t);
|
||||
if (ab == NULL) return NULL;
|
||||
ab->mem = mem;
|
||||
attrbuf_ensure_extra(ab,1);
|
||||
return ab;
|
||||
}
|
||||
|
||||
ic_private void attrbuf_free( attrbuf_t* ab ) {
|
||||
if (ab==NULL) return;
|
||||
mem_free(ab->mem, ab->attrs);
|
||||
mem_free(ab->mem, ab);
|
||||
}
|
||||
|
||||
ic_private void attrbuf_clear(attrbuf_t* ab) {
|
||||
if (ab == NULL) return;
|
||||
ab->count = 0;
|
||||
}
|
||||
|
||||
ic_private ssize_t attrbuf_len( attrbuf_t* ab ) {
|
||||
return (ab==NULL ? 0 : ab->count);
|
||||
}
|
||||
|
||||
ic_private const attr_t* attrbuf_attrs( attrbuf_t* ab, ssize_t expected_len ) {
|
||||
assert(expected_len <= ab->count );
|
||||
// expand if needed
|
||||
if (ab->count < expected_len) {
|
||||
if (!attrbuf_ensure_capacity(ab,expected_len)) return NULL;
|
||||
for(ssize_t i = ab->count; i < expected_len; i++) {
|
||||
ab->attrs[i] = attr_none();
|
||||
}
|
||||
ab->count = expected_len;
|
||||
}
|
||||
return ab->attrs;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void attrbuf_update_set_at( attrbuf_t* ab, ssize_t pos, ssize_t count, attr_t attr, bool update ) {
|
||||
const ssize_t end = pos + count;
|
||||
if (!attrbuf_ensure_capacity(ab, end)) return;
|
||||
ssize_t i;
|
||||
// initialize if end is beyond the count (todo: avoid duplicate init and set if update==false?)
|
||||
if (ab->count < end) {
|
||||
for(i = ab->count; i < end; i++) {
|
||||
ab->attrs[i] = attr_none();
|
||||
}
|
||||
ab->count = end;
|
||||
}
|
||||
// fill pos to end with attr
|
||||
for(i = pos; i < end; i++) {
|
||||
ab->attrs[i] = (update ? attr_update_with(ab->attrs[i],attr) : attr);
|
||||
}
|
||||
}
|
||||
|
||||
ic_private void attrbuf_set_at( attrbuf_t* ab, ssize_t pos, ssize_t count, attr_t attr ) {
|
||||
attrbuf_update_set_at(ab, pos, count, attr, false);
|
||||
}
|
||||
|
||||
ic_private void attrbuf_update_at( attrbuf_t* ab, ssize_t pos, ssize_t count, attr_t attr ) {
|
||||
attrbuf_update_set_at(ab, pos, count, attr, true);
|
||||
}
|
||||
|
||||
ic_private void attrbuf_insert_at( attrbuf_t* ab, ssize_t pos, ssize_t count, attr_t attr ) {
|
||||
if (pos < 0 || pos > ab->count || count <= 0) return;
|
||||
if (!attrbuf_ensure_extra(ab,count)) return;
|
||||
ic_memmove( ab->attrs + pos + count, ab->attrs + pos, (ab->count - pos)*ssizeof(attr_t) );
|
||||
ab->count += count;
|
||||
attrbuf_set_at( ab, pos, count, attr );
|
||||
}
|
||||
|
||||
|
||||
// note: must allow ab == NULL!
|
||||
ic_private ssize_t attrbuf_append_n( stringbuf_t* sb, attrbuf_t* ab, const char* s, ssize_t len, attr_t attr ) {
|
||||
if (s == NULL || len == 0) return sbuf_len(sb);
|
||||
if (ab != NULL) {
|
||||
if (!attrbuf_ensure_extra(ab,len)) return sbuf_len(sb);
|
||||
attrbuf_set_at(ab, ab->count, len, attr);
|
||||
}
|
||||
return sbuf_append_n(sb,s,len);
|
||||
}
|
||||
|
||||
ic_private attr_t attrbuf_attr_at( attrbuf_t* ab, ssize_t pos ) {
|
||||
if (ab==NULL || pos < 0 || pos > ab->count) return attr_none();
|
||||
return ab->attrs[pos];
|
||||
}
|
||||
|
||||
ic_private void attrbuf_delete_at( attrbuf_t* ab, ssize_t pos, ssize_t count ) {
|
||||
if (ab==NULL || pos < 0 || pos > ab->count) return;
|
||||
if (pos + count > ab->count) { count = ab->count - pos; }
|
||||
if (count == 0) return;
|
||||
assert(pos + count <= ab->count);
|
||||
ic_memmove( ab->attrs + pos, ab->attrs + pos + count, ab->count - (pos + count) );
|
||||
ab->count -= count;
|
||||
}
|
70
bin/isocline/src/attr.h
Normal file
70
bin/isocline/src/attr.h
Normal file
@ -0,0 +1,70 @@
|
||||
/* ----------------------------------------------------------------------------
|
||||
Copyright (c) 2021, Daan Leijen
|
||||
This is free software; you can redistribute it and/or modify it
|
||||
under the terms of the MIT License. A copy of the license can be
|
||||
found in the "LICENSE" file at the root of this distribution.
|
||||
-----------------------------------------------------------------------------*/
|
||||
#pragma once
|
||||
#ifndef IC_ATTR_H
|
||||
#define IC_ATTR_H
|
||||
|
||||
#include "common.h"
|
||||
#include "stringbuf.h"
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// text attributes
|
||||
//-------------------------------------------------------------
|
||||
|
||||
#define IC_ON (1)
|
||||
#define IC_OFF (-1)
|
||||
#define IC_NONE (0)
|
||||
|
||||
// try to fit in 64 bits
|
||||
// note: order is important for some compilers
|
||||
// note: each color can actually be 25 bits
|
||||
typedef union attr_s {
|
||||
struct {
|
||||
unsigned int color:28;
|
||||
signed int bold:2;
|
||||
signed int reverse:2;
|
||||
unsigned int bgcolor:28;
|
||||
signed int underline:2;
|
||||
signed int italic:2;
|
||||
} x;
|
||||
uint64_t value;
|
||||
} attr_t;
|
||||
|
||||
ic_private attr_t attr_none(void);
|
||||
ic_private attr_t attr_default(void);
|
||||
ic_private attr_t attr_from_color( ic_color_t color );
|
||||
|
||||
ic_private bool attr_is_none(attr_t attr);
|
||||
ic_private bool attr_is_eq(attr_t attr1, attr_t attr2);
|
||||
|
||||
ic_private attr_t attr_update_with( attr_t attr, attr_t newattr );
|
||||
|
||||
ic_private attr_t attr_from_sgr( const char* s, ssize_t len);
|
||||
ic_private attr_t attr_from_esc_sgr( const char* s, ssize_t len);
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// attribute buffer used for rich rendering
|
||||
//-------------------------------------------------------------
|
||||
|
||||
struct attrbuf_s;
|
||||
typedef struct attrbuf_s attrbuf_t;
|
||||
|
||||
ic_private attrbuf_t* attrbuf_new( alloc_t* mem );
|
||||
ic_private void attrbuf_free( attrbuf_t* ab ); // ab can be NULL
|
||||
ic_private void attrbuf_clear( attrbuf_t* ab ); // ab can be NULL
|
||||
ic_private ssize_t attrbuf_len( attrbuf_t* ab); // ab can be NULL
|
||||
ic_private const attr_t* attrbuf_attrs( attrbuf_t* ab, ssize_t expected_len );
|
||||
ic_private ssize_t attrbuf_append_n( stringbuf_t* sb, attrbuf_t* ab, const char* s, ssize_t len, attr_t attr );
|
||||
|
||||
ic_private void attrbuf_set_at( attrbuf_t* ab, ssize_t pos, ssize_t count, attr_t attr );
|
||||
ic_private void attrbuf_update_at( attrbuf_t* ab, ssize_t pos, ssize_t count, attr_t attr );
|
||||
ic_private void attrbuf_insert_at( attrbuf_t* ab, ssize_t pos, ssize_t count, attr_t attr );
|
||||
|
||||
ic_private attr_t attrbuf_attr_at( attrbuf_t* ab, ssize_t pos );
|
||||
ic_private void attrbuf_delete_at( attrbuf_t* ab, ssize_t pos, ssize_t count );
|
||||
|
||||
#endif // IC_ATTR_H
|
842
bin/isocline/src/bbcode.c
Normal file
842
bin/isocline/src/bbcode.c
Normal file
@ -0,0 +1,842 @@
|
||||
/* ----------------------------------------------------------------------------
|
||||
Copyright (c) 2021, Daan Leijen
|
||||
This is free software; you can redistribute it and/or modify it
|
||||
under the terms of the MIT License. A copy of the license can be
|
||||
found in the "LICENSE" file at the root of this distribution.
|
||||
-----------------------------------------------------------------------------*/
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "common.h"
|
||||
#include "attr.h"
|
||||
#include "term.h"
|
||||
#include "bbcode.h"
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// HTML color table
|
||||
//-------------------------------------------------------------
|
||||
|
||||
#include "bbcode_colors.c"
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Types
|
||||
//-------------------------------------------------------------
|
||||
|
||||
typedef struct style_s {
|
||||
const char* name; // name of the style
|
||||
attr_t attr; // attribute to apply
|
||||
} style_t;
|
||||
|
||||
typedef enum align_e {
|
||||
IC_ALIGN_LEFT,
|
||||
IC_ALIGN_CENTER,
|
||||
IC_ALIGN_RIGHT
|
||||
} align_t;
|
||||
|
||||
typedef struct width_s {
|
||||
ssize_t w; // > 0
|
||||
align_t align;
|
||||
bool dots; // "..." (e.g. "sentence...")
|
||||
char fill; // " " (e.g. "hello ")
|
||||
} width_t;
|
||||
|
||||
typedef struct tag_s {
|
||||
const char* name; // tag open name
|
||||
attr_t attr; // the saved attribute before applying the style
|
||||
width_t width; // start sequence of at most "width" columns
|
||||
ssize_t pos; // start position in the output (used for width restriction)
|
||||
} tag_t;
|
||||
|
||||
|
||||
static void tag_init(tag_t* tag) {
|
||||
memset(tag,0,sizeof(*tag));
|
||||
}
|
||||
|
||||
struct bbcode_s {
|
||||
tag_t* tags; // stack of tags; one entry for each open tag
|
||||
ssize_t tags_capacity;
|
||||
ssize_t tags_nesting;
|
||||
style_t* styles; // list of used defined styles
|
||||
ssize_t styles_capacity;
|
||||
ssize_t styles_count;
|
||||
term_t* term; // terminal
|
||||
alloc_t* mem; // allocator
|
||||
// caches
|
||||
stringbuf_t* out; // print buffer
|
||||
attrbuf_t* out_attrs;
|
||||
stringbuf_t* vout; // vprintf buffer
|
||||
};
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Create, helpers
|
||||
//-------------------------------------------------------------
|
||||
|
||||
ic_private bbcode_t* bbcode_new( alloc_t* mem, term_t* term ) {
|
||||
bbcode_t* bb = mem_zalloc_tp(mem,bbcode_t);
|
||||
if (bb==NULL) return NULL;
|
||||
bb->mem = mem;
|
||||
bb->term = term;
|
||||
bb->out = sbuf_new(mem);
|
||||
bb->out_attrs = attrbuf_new(mem);
|
||||
bb->vout = sbuf_new(mem);
|
||||
return bb;
|
||||
}
|
||||
|
||||
ic_private void bbcode_free( bbcode_t* bb ) {
|
||||
for(ssize_t i = 0; i < bb->styles_count; i++) {
|
||||
mem_free(bb->mem, bb->styles[i].name);
|
||||
}
|
||||
mem_free(bb->mem, bb->tags);
|
||||
mem_free(bb->mem, bb->styles);
|
||||
sbuf_free(bb->vout);
|
||||
sbuf_free(bb->out);
|
||||
attrbuf_free(bb->out_attrs);
|
||||
mem_free(bb->mem, bb);
|
||||
}
|
||||
|
||||
ic_private void bbcode_style_add( bbcode_t* bb, const char* style_name, attr_t attr ) {
|
||||
if (bb->styles_count >= bb->styles_capacity) {
|
||||
ssize_t newlen = bb->styles_capacity + 32;
|
||||
style_t* p = mem_realloc_tp( bb->mem, style_t, bb->styles, newlen );
|
||||
if (p == NULL) return;
|
||||
bb->styles = p;
|
||||
bb->styles_capacity = newlen;
|
||||
}
|
||||
assert(bb->styles_count < bb->styles_capacity);
|
||||
bb->styles[bb->styles_count].name = mem_strdup( bb->mem, style_name );
|
||||
bb->styles[bb->styles_count].attr = attr;
|
||||
bb->styles_count++;
|
||||
}
|
||||
|
||||
static ssize_t bbcode_tag_push( bbcode_t* bb, const tag_t* tag ) {
|
||||
if (bb->tags_nesting >= bb->tags_capacity) {
|
||||
ssize_t newcap = bb->tags_capacity + 32;
|
||||
tag_t* p = mem_realloc_tp( bb->mem, tag_t, bb->tags, newcap );
|
||||
if (p == NULL) return -1;
|
||||
bb->tags = p;
|
||||
bb->tags_capacity = newcap;
|
||||
}
|
||||
assert(bb->tags_nesting < bb->tags_capacity);
|
||||
bb->tags[bb->tags_nesting] = *tag;
|
||||
bb->tags_nesting++;
|
||||
return (bb->tags_nesting-1);
|
||||
}
|
||||
|
||||
static void bbcode_tag_pop( bbcode_t* bb, tag_t* tag ) {
|
||||
if (bb->tags_nesting <= 0) {
|
||||
if (tag != NULL) { tag_init(tag); }
|
||||
}
|
||||
else {
|
||||
bb->tags_nesting--;
|
||||
if (tag != NULL) {
|
||||
*tag = bb->tags[bb->tags_nesting];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Invalid parse/values/balance
|
||||
//-------------------------------------------------------------
|
||||
|
||||
static void bbcode_invalid(const char* fmt, ... ) {
|
||||
if (getenv("ISOCLINE_BBCODE_DEBUG") != NULL) {
|
||||
va_list args;
|
||||
va_start(args,fmt);
|
||||
vfprintf(stderr,fmt,args);
|
||||
va_end(args);
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Set attributes
|
||||
//-------------------------------------------------------------
|
||||
|
||||
|
||||
static attr_t bbcode_open( bbcode_t* bb, ssize_t out_pos, const tag_t* tag, attr_t current ) {
|
||||
// save current and set
|
||||
tag_t cur;
|
||||
tag_init(&cur);
|
||||
cur.name = tag->name;
|
||||
cur.attr = current;
|
||||
cur.width = tag->width;
|
||||
cur.pos = out_pos;
|
||||
bbcode_tag_push(bb,&cur);
|
||||
return attr_update_with( current, tag->attr );
|
||||
}
|
||||
|
||||
static bool bbcode_close( bbcode_t* bb, ssize_t base, const char* name, tag_t* pprev ) {
|
||||
// pop until match
|
||||
while (bb->tags_nesting > base) {
|
||||
tag_t prev;
|
||||
bbcode_tag_pop(bb,&prev);
|
||||
if (name==NULL || prev.name==NULL || ic_stricmp(prev.name,name) == 0) {
|
||||
// matched
|
||||
if (pprev != NULL) { *pprev = prev; }
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
// unbalanced: we either continue popping or restore the tags depending if there is a matching open tag in our tags.
|
||||
bool has_open_tag = false;
|
||||
if (name != NULL) {
|
||||
for( ssize_t i = bb->tags_nesting - 1; i > base; i--) {
|
||||
if (bb->tags[i].name != NULL && ic_stricmp(bb->tags[i].name, name) == 0) {
|
||||
has_open_tag = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
bbcode_invalid("bbcode: unbalanced tags: open [%s], close [/%s]\n", prev.name, name);
|
||||
if (!has_open_tag) {
|
||||
bbcode_tag_push( bb, &prev ); // restore the tags and ignore this close tag
|
||||
break;
|
||||
}
|
||||
else {
|
||||
// continue until we hit our open tag
|
||||
}
|
||||
}
|
||||
}
|
||||
if (pprev != NULL) { memset(pprev,0,sizeof(*pprev)); }
|
||||
return false;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Update attributes
|
||||
//-------------------------------------------------------------
|
||||
|
||||
static const char* attr_update_bool( const char* fname, signed int* field, const char* value ) {
|
||||
if (value == NULL || value[0] == 0 || strcmp(value,"on") || strcmp(value,"true") || strcmp(value,"1")) {
|
||||
*field = IC_ON;
|
||||
}
|
||||
else if (strcmp(value,"off") || strcmp(value,"false") || strcmp(value,"0")) {
|
||||
*field = IC_OFF;
|
||||
}
|
||||
else {
|
||||
bbcode_invalid("bbcode: invalid %s value: %s\n", fname, value );
|
||||
}
|
||||
return fname;
|
||||
}
|
||||
|
||||
static const char* attr_update_color( const char* fname, ic_color_t* field, const char* value ) {
|
||||
if (value == NULL || value[0] == 0 || strcmp(value,"none") == 0) {
|
||||
*field = IC_COLOR_NONE;
|
||||
return fname;
|
||||
}
|
||||
|
||||
// hex value
|
||||
if (value[0] == '#') {
|
||||
uint32_t rgb = 0;
|
||||
if (sscanf(value,"#%x",&rgb) == 1) {
|
||||
*field = ic_rgb(rgb);
|
||||
}
|
||||
else {
|
||||
bbcode_invalid("bbcode: invalid color code: %s\n", value);
|
||||
}
|
||||
return fname;
|
||||
}
|
||||
|
||||
// search color names
|
||||
ssize_t lo = 0;
|
||||
ssize_t hi = IC_HTML_COLOR_COUNT-1;
|
||||
while( lo <= hi ) {
|
||||
ssize_t mid = (lo + hi) / 2;
|
||||
style_color_t* info = &html_colors[mid];
|
||||
int cmp = strcmp(info->name,value);
|
||||
if (cmp < 0) {
|
||||
lo = mid+1;
|
||||
}
|
||||
else if (cmp > 0) {
|
||||
hi = mid-1;
|
||||
}
|
||||
else {
|
||||
*field = info->color;
|
||||
return fname;
|
||||
}
|
||||
}
|
||||
bbcode_invalid("bbcode: unknown %s: %s\n", fname, value);
|
||||
*field = IC_COLOR_NONE;
|
||||
return fname;
|
||||
}
|
||||
|
||||
static const char* attr_update_sgr( const char* fname, attr_t* attr, const char* value ) {
|
||||
*attr = attr_update_with(*attr, attr_from_sgr(value, ic_strlen(value)));
|
||||
return fname;
|
||||
}
|
||||
|
||||
static void attr_update_width( width_t* pwidth, char default_fill, const char* value ) {
|
||||
// parse width value: <width>;<left|center|right>;<fill>;<cut>
|
||||
width_t width;
|
||||
memset(&width, 0, sizeof(width));
|
||||
width.fill = default_fill; // use 0 for no-fill (as for max-width)
|
||||
if (ic_atoz(value, &width.w)) {
|
||||
ssize_t i = 0;
|
||||
while( value[i] != ';' && value[i] != 0 ) { i++; }
|
||||
if (value[i] == ';') {
|
||||
i++;
|
||||
ssize_t len = 0;
|
||||
while( value[i+len] != ';' && value[i+len] != 0 ) { len++; }
|
||||
if (len == 4 && ic_istarts_with(value+i,"left")) {
|
||||
width.align = IC_ALIGN_LEFT;
|
||||
}
|
||||
else if (len == 5 && ic_istarts_with(value+i,"right")) {
|
||||
width.align = IC_ALIGN_RIGHT;
|
||||
}
|
||||
else if (len == 6 && ic_istarts_with(value+i,"center")) {
|
||||
width.align = IC_ALIGN_CENTER;
|
||||
}
|
||||
i += len;
|
||||
if (value[i] == ';') {
|
||||
i++; len = 0;
|
||||
while( value[i+len] != ';' && value[i+len] != 0 ) { len++; }
|
||||
if (len == 1) { width.fill = value[i]; }
|
||||
i+= len;
|
||||
if (value[i] == ';') {
|
||||
i++; len = 0;
|
||||
while( value[i+len] != ';' && value[i+len] != 0 ) { len++; }
|
||||
if ((len == 2 && ic_istarts_with(value+i,"on")) || (len == 1 && value[i] == '1')) { width.dots = true; }
|
||||
i += len;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
bbcode_invalid("bbcode: illegal width: %s\n", value);
|
||||
}
|
||||
*pwidth = width;
|
||||
}
|
||||
|
||||
static const char* attr_update_ansi_color( const char* fname, ic_color_t* color, const char* value ) {
|
||||
ssize_t num = 0;
|
||||
if (ic_atoz(value, &num) && num >= 0 && num <= 256) {
|
||||
*color = color_from_ansi256(num);
|
||||
}
|
||||
return fname;
|
||||
}
|
||||
|
||||
|
||||
static const char* attr_update_property( tag_t* tag, const char* attr_name, const char* value ) {
|
||||
const char* fname = NULL;
|
||||
fname = "bold";
|
||||
if (strcmp(attr_name,fname) == 0) {
|
||||
signed int b = IC_NONE;
|
||||
attr_update_bool(fname,&b, value);
|
||||
if (b != IC_NONE) { tag->attr.x.bold = b; }
|
||||
return fname;
|
||||
}
|
||||
fname = "italic";
|
||||
if (strcmp(attr_name,fname) == 0) {
|
||||
signed int b = IC_NONE;
|
||||
attr_update_bool(fname,&b, value);
|
||||
if (b != IC_NONE) { tag->attr.x.italic = b; }
|
||||
return fname;
|
||||
}
|
||||
fname = "underline";
|
||||
if (strcmp(attr_name,fname) == 0) {
|
||||
signed int b = IC_NONE;
|
||||
attr_update_bool(fname,&b, value);
|
||||
if (b != IC_NONE) { tag->attr.x.underline = b; }
|
||||
return fname;
|
||||
}
|
||||
fname = "reverse";
|
||||
if (strcmp(attr_name,fname) == 0) {
|
||||
signed int b = IC_NONE;
|
||||
attr_update_bool(fname,&b, value);
|
||||
if (b != IC_NONE) { tag->attr.x.reverse = b; }
|
||||
return fname;
|
||||
}
|
||||
fname = "color";
|
||||
if (strcmp(attr_name,fname) == 0) {
|
||||
unsigned int color = IC_COLOR_NONE;
|
||||
attr_update_color(fname, &color, value);
|
||||
if (color != IC_COLOR_NONE) { tag->attr.x.color = color; }
|
||||
return fname;
|
||||
}
|
||||
fname = "bgcolor";
|
||||
if (strcmp(attr_name,fname) == 0) {
|
||||
unsigned int color = IC_COLOR_NONE;
|
||||
attr_update_color(fname, &color, value);
|
||||
if (color != IC_COLOR_NONE) { tag->attr.x.bgcolor = color; }
|
||||
return fname;
|
||||
}
|
||||
fname = "ansi-sgr";
|
||||
if (strcmp(attr_name,fname) == 0) {
|
||||
attr_update_sgr(fname, &tag->attr, value);
|
||||
return fname;
|
||||
}
|
||||
fname = "ansi-color";
|
||||
if (strcmp(attr_name,fname) == 0) {
|
||||
ic_color_t color = IC_COLOR_NONE;;
|
||||
attr_update_ansi_color(fname, &color, value);
|
||||
if (color != IC_COLOR_NONE) { tag->attr.x.color = color; }
|
||||
return fname;
|
||||
}
|
||||
fname = "ansi-bgcolor";
|
||||
if (strcmp(attr_name,fname) == 0) {
|
||||
ic_color_t color = IC_COLOR_NONE;;
|
||||
attr_update_ansi_color(fname, &color, value);
|
||||
if (color != IC_COLOR_NONE) { tag->attr.x.bgcolor = color; }
|
||||
return fname;
|
||||
}
|
||||
fname = "width";
|
||||
if (strcmp(attr_name,fname) == 0) {
|
||||
attr_update_width(&tag->width, ' ', value);
|
||||
return fname;
|
||||
}
|
||||
fname = "max-width";
|
||||
if (strcmp(attr_name,fname) == 0) {
|
||||
attr_update_width(&tag->width, 0, value);
|
||||
return "width";
|
||||
}
|
||||
else {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static const style_t builtin_styles[] = {
|
||||
{ "b", { { IC_COLOR_NONE, IC_ON , IC_NONE, IC_COLOR_NONE, IC_NONE, IC_NONE } } },
|
||||
{ "r", { { IC_COLOR_NONE, IC_NONE, IC_ON , IC_COLOR_NONE, IC_NONE, IC_NONE } } },
|
||||
{ "u", { { IC_COLOR_NONE, IC_NONE, IC_NONE, IC_COLOR_NONE, IC_ON , IC_NONE } } },
|
||||
{ "i", { { IC_COLOR_NONE, IC_NONE, IC_NONE, IC_COLOR_NONE, IC_NONE, IC_ON } } },
|
||||
{ "em", { { IC_COLOR_NONE, IC_ON , IC_NONE, IC_COLOR_NONE, IC_NONE, IC_NONE } } }, // bold
|
||||
{ "url",{ { IC_COLOR_NONE, IC_NONE, IC_NONE, IC_COLOR_NONE, IC_ON, IC_NONE } } }, // underline
|
||||
{ NULL, { { IC_COLOR_NONE, IC_NONE, IC_NONE, IC_COLOR_NONE, IC_NONE, IC_NONE } } }
|
||||
};
|
||||
|
||||
static void attr_update_with_styles( tag_t* tag, const char* attr_name, const char* value,
|
||||
bool usebgcolor, const style_t* styles, ssize_t count )
|
||||
{
|
||||
// direct hex color?
|
||||
if (attr_name[0] == '#' && (value == NULL || value[0]==0)) {
|
||||
value = attr_name;
|
||||
attr_name = (usebgcolor ? "bgcolor" : "color");
|
||||
}
|
||||
// first try if it is a builtin property
|
||||
const char* name;
|
||||
if ((name = attr_update_property(tag,attr_name,value)) != NULL) {
|
||||
if (tag->name != NULL) tag->name = name;
|
||||
return;
|
||||
}
|
||||
// then check all styles
|
||||
while( count-- > 0 ) {
|
||||
const style_t* style = styles + count;
|
||||
if (strcmp(style->name,attr_name) == 0) {
|
||||
tag->attr = attr_update_with(tag->attr,style->attr);
|
||||
if (tag->name != NULL) tag->name = style->name;
|
||||
return;
|
||||
}
|
||||
}
|
||||
// check builtin styles; todo: binary search?
|
||||
for( const style_t* style = builtin_styles; style->name != NULL; style++) {
|
||||
if (strcmp(style->name,attr_name) == 0) {
|
||||
tag->attr = attr_update_with(tag->attr,style->attr);
|
||||
if (tag->name != NULL) tag->name = style->name;
|
||||
return;
|
||||
}
|
||||
}
|
||||
// check colors as a style
|
||||
ssize_t lo = 0;
|
||||
ssize_t hi = IC_HTML_COLOR_COUNT-1;
|
||||
while( lo <= hi ) {
|
||||
ssize_t mid = (lo + hi) / 2;
|
||||
style_color_t* info = &html_colors[mid];
|
||||
int cmp = strcmp(info->name,attr_name);
|
||||
if (cmp < 0) {
|
||||
lo = mid+1;
|
||||
}
|
||||
else if (cmp > 0) {
|
||||
hi = mid-1;
|
||||
}
|
||||
else {
|
||||
attr_t cattr = attr_none();
|
||||
if (usebgcolor) { cattr.x.bgcolor = info->color; }
|
||||
else { cattr.x.color = info->color; }
|
||||
tag->attr = attr_update_with(tag->attr,cattr);
|
||||
if (tag->name != NULL) tag->name = info->name;
|
||||
return;
|
||||
}
|
||||
}
|
||||
// not found
|
||||
bbcode_invalid("bbcode: unknown style: %s\n", attr_name);
|
||||
}
|
||||
|
||||
|
||||
ic_private attr_t bbcode_style( bbcode_t* bb, const char* style_name ) {
|
||||
tag_t tag;
|
||||
tag_init(&tag);
|
||||
attr_update_with_styles( &tag, style_name, NULL, false, bb->styles, bb->styles_count );
|
||||
return tag.attr;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Parse tags
|
||||
//-------------------------------------------------------------
|
||||
|
||||
ic_private const char* parse_skip_white(const char* s) {
|
||||
while( *s != 0 && *s != ']') {
|
||||
if (!(*s == ' ' || *s == '\t' || *s == '\n' || *s == '\r')) break;
|
||||
s++;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
ic_private const char* parse_skip_to_white(const char* s) {
|
||||
while( *s != 0 && *s != ']') {
|
||||
if (*s == ' ' || *s == '\t' || *s == '\n' || *s == '\r') break;
|
||||
s++;
|
||||
}
|
||||
return parse_skip_white(s);
|
||||
}
|
||||
|
||||
ic_private const char* parse_skip_to_end(const char* s) {
|
||||
while( *s != 0 && *s != ']' ) { s++; }
|
||||
return s;
|
||||
}
|
||||
|
||||
ic_private const char* parse_attr_name(const char* s) {
|
||||
if (*s == '#') {
|
||||
s++; // hex rgb color as id
|
||||
while( *s != 0 && *s != ']') {
|
||||
if (!((*s >= 'a' && *s <= 'f') || (*s >= 'A' && *s <= 'Z') || (*s >= '0' && *s <= '9'))) break;
|
||||
s++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
while( *s != 0 && *s != ']') {
|
||||
if (!((*s >= 'a' && *s <= 'z') || (*s >= 'A' && *s <= 'Z') ||
|
||||
(*s >= '0' && *s <= '9') || *s == '_' || *s == '-')) break;
|
||||
s++;
|
||||
}
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
ic_private const char* parse_value(const char* s, const char** start, const char** end) {
|
||||
if (*s == '"') {
|
||||
s++;
|
||||
*start = s;
|
||||
while( *s != 0 ) {
|
||||
if (*s == '"') break;
|
||||
s++;
|
||||
}
|
||||
*end = s;
|
||||
if (*s == '"') { s++; }
|
||||
}
|
||||
else if (*s == '#') {
|
||||
*start = s;
|
||||
s++;
|
||||
while( *s != 0 ) {
|
||||
if (!((*s >= 'a' && *s <= 'f') || (*s >= 'A' && *s <= 'Z') || (*s >= '0' && *s <= '9'))) break;
|
||||
s++;
|
||||
}
|
||||
*end = s;
|
||||
}
|
||||
else {
|
||||
*start = s;
|
||||
while( *s != 0 ) {
|
||||
if (!((*s >= 'a' && *s <= 'z') || (*s >= 'A' && *s <= 'F') || (*s >= '0' && *s <= '9') || *s == '-' || *s == '_')) break;
|
||||
s++;
|
||||
}
|
||||
*end = s;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
ic_private const char* parse_tag_value( tag_t* tag, char* idbuf, const char* s, const style_t* styles, ssize_t scount ) {
|
||||
// parse: \s*[\w-]+\s*(=\s*<value>)
|
||||
bool usebgcolor = false;
|
||||
const char* id = s;
|
||||
const char* idend = parse_attr_name(id);
|
||||
const char* val = NULL;
|
||||
const char* valend = NULL;
|
||||
if (id == idend) {
|
||||
bbcode_invalid("bbcode: empty identifier? %.10s...\n", id );
|
||||
return parse_skip_to_white(id);
|
||||
}
|
||||
// "on" bgcolor?
|
||||
s = parse_skip_white(idend);
|
||||
if (idend - id == 2 && ic_strnicmp(id,"on",2) == 0 && *s != '=') {
|
||||
usebgcolor = true;
|
||||
id = s;
|
||||
idend = parse_attr_name(id);
|
||||
if (id == idend) {
|
||||
bbcode_invalid("bbcode: empty identifier follows 'on'? %.10s...\n", id );
|
||||
return parse_skip_to_white(id);
|
||||
}
|
||||
s = parse_skip_white(idend);
|
||||
}
|
||||
// value
|
||||
if (*s == '=') {
|
||||
s++;
|
||||
s = parse_skip_white(s);
|
||||
s = parse_value(s, &val, &valend);
|
||||
s = parse_skip_white(s);
|
||||
}
|
||||
// limit name and attr to 128 bytes
|
||||
char valbuf[128];
|
||||
ic_strncpy( idbuf, 128, id, idend - id);
|
||||
ic_strncpy( valbuf, 128, val, valend - val);
|
||||
ic_str_tolower(idbuf);
|
||||
ic_str_tolower(valbuf);
|
||||
attr_update_with_styles( tag, idbuf, valbuf, usebgcolor, styles, scount );
|
||||
return s;
|
||||
}
|
||||
|
||||
static const char* parse_tag_values( tag_t* tag, char* idbuf, const char* s, const style_t* styles, ssize_t scount ) {
|
||||
s = parse_skip_white(s);
|
||||
idbuf[0] = 0;
|
||||
ssize_t count = 0;
|
||||
while( *s != 0 && *s != ']') {
|
||||
char idbuf_next[128];
|
||||
s = parse_tag_value(tag, (count==0 ? idbuf : idbuf_next), s, styles, scount);
|
||||
count++;
|
||||
}
|
||||
if (*s == ']') { s++; }
|
||||
return s;
|
||||
}
|
||||
|
||||
static const char* parse_tag( tag_t* tag, char* idbuf, bool* open, bool* pre, const char* s, const style_t* styles, ssize_t scount ) {
|
||||
*open = true;
|
||||
*pre = false;
|
||||
if (*s != '[') return s;
|
||||
s = parse_skip_white(s+1);
|
||||
if (*s == '!') { // pre
|
||||
*pre = true;
|
||||
s = parse_skip_white(s+1);
|
||||
}
|
||||
else if (*s == '/') {
|
||||
*open = false;
|
||||
s = parse_skip_white(s+1);
|
||||
};
|
||||
s = parse_tag_values( tag, idbuf, s, styles, scount);
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------
|
||||
// Styles
|
||||
//---------------------------------------------------------
|
||||
|
||||
static void bbcode_parse_tag_content( bbcode_t* bb, const char* s, tag_t* tag ) {
|
||||
tag_init(tag);
|
||||
if (s != NULL) {
|
||||
char idbuf[128];
|
||||
parse_tag_values(tag, idbuf, s, bb->styles, bb->styles_count);
|
||||
}
|
||||
}
|
||||
|
||||
ic_private void bbcode_style_def( bbcode_t* bb, const char* style_name, const char* s ) {
|
||||
tag_t tag;
|
||||
bbcode_parse_tag_content( bb, s, &tag);
|
||||
bbcode_style_add(bb, style_name, tag.attr);
|
||||
}
|
||||
|
||||
ic_private void bbcode_style_open( bbcode_t* bb, const char* fmt ) {
|
||||
tag_t tag;
|
||||
bbcode_parse_tag_content(bb, fmt, &tag);
|
||||
term_set_attr( bb->term, bbcode_open(bb, 0, &tag, term_get_attr(bb->term)) );
|
||||
}
|
||||
|
||||
ic_private void bbcode_style_close( bbcode_t* bb, const char* fmt ) {
|
||||
const ssize_t base = bb->tags_nesting - 1; // as we end a style
|
||||
tag_t tag;
|
||||
bbcode_parse_tag_content(bb, fmt, &tag);
|
||||
tag_t prev;
|
||||
if (bbcode_close(bb, base, tag.name, &prev)) {
|
||||
term_set_attr( bb->term, prev.attr );
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
// Restrict to width
|
||||
//---------------------------------------------------------
|
||||
|
||||
static void bbcode_restrict_width( ssize_t start, width_t width, stringbuf_t* out, attrbuf_t* attr_out ) {
|
||||
if (width.w <= 0) return;
|
||||
assert(start <= sbuf_len(out));
|
||||
assert(attr_out == NULL || sbuf_len(out) == attrbuf_len(attr_out));
|
||||
const char* s = sbuf_string(out) + start;
|
||||
const ssize_t len = sbuf_len(out) - start;
|
||||
const ssize_t w = str_column_width(s);
|
||||
if (w == width.w) return; // fits exactly
|
||||
if (w > width.w) {
|
||||
// too large
|
||||
ssize_t innerw = (width.dots && width.w > 3 ? width.w-3 : width.w);
|
||||
if (width.align == IC_ALIGN_RIGHT) {
|
||||
// right align
|
||||
const ssize_t ndel = str_skip_until_fit( s, innerw );
|
||||
sbuf_delete_at( out, start, ndel );
|
||||
attrbuf_delete_at( attr_out, start, ndel );
|
||||
if (innerw < width.w) {
|
||||
// add dots
|
||||
sbuf_insert_at( out, "...", start );
|
||||
attr_t attr = attrbuf_attr_at(attr_out, start);
|
||||
attrbuf_insert_at( attr_out, start, 3, attr);
|
||||
}
|
||||
}
|
||||
else {
|
||||
// left or center align
|
||||
ssize_t count = str_take_while_fit( s, innerw );
|
||||
sbuf_delete_at( out, start + count, len - count );
|
||||
attrbuf_delete_at( attr_out, start + count, len - count );
|
||||
if (innerw < width.w) {
|
||||
// add dots
|
||||
attr_t attr = attrbuf_attr_at(attr_out,start);
|
||||
attrbuf_append_n( out, attr_out, "...", 3, attr );
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
// too short, pad to width
|
||||
const ssize_t diff = (width.w - w);
|
||||
const ssize_t pad_left = (width.align == IC_ALIGN_RIGHT ? diff : (width.align == IC_ALIGN_LEFT ? 0 : diff / 2));
|
||||
const ssize_t pad_right = (width.align == IC_ALIGN_LEFT ? diff : (width.align == IC_ALIGN_RIGHT ? 0 : diff - pad_left));
|
||||
if (width.fill != 0 && pad_left > 0) {
|
||||
const attr_t attr = attrbuf_attr_at(attr_out,start);
|
||||
for( ssize_t i = 0; i < pad_left; i++) { // todo: optimize
|
||||
sbuf_insert_char_at(out, width.fill, start);
|
||||
}
|
||||
attrbuf_insert_at( attr_out, start, pad_left, attr );
|
||||
}
|
||||
if (width.fill != 0 && pad_right > 0) {
|
||||
const attr_t attr = attrbuf_attr_at(attr_out,sbuf_len(out) - 1);
|
||||
char buf[2];
|
||||
buf[0] = width.fill;
|
||||
buf[1] = 0;
|
||||
for( ssize_t i = 0; i < pad_right; i++) { // todo: optimize
|
||||
attrbuf_append_n( out, attr_out, buf, 1, attr );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
// Print
|
||||
//---------------------------------------------------------
|
||||
|
||||
ic_private ssize_t bbcode_process_tag( bbcode_t* bb, const char* s, const ssize_t nesting_base,
|
||||
stringbuf_t* out, attrbuf_t* attr_out, attr_t* cur_attr ) {
|
||||
assert(*s == '[');
|
||||
tag_t tag;
|
||||
tag_init(&tag);
|
||||
bool open = true;
|
||||
bool ispre = false;
|
||||
char idbuf[128];
|
||||
const char* end = parse_tag( &tag, idbuf, &open, &ispre, s, bb->styles, bb->styles_count ); // todo: styles
|
||||
assert(end > s);
|
||||
if (open) {
|
||||
if (!ispre) {
|
||||
// open tag
|
||||
*cur_attr = bbcode_open( bb, sbuf_len(out), &tag, *cur_attr );
|
||||
}
|
||||
else {
|
||||
// scan pre to end tag
|
||||
attr_t attr = attr_update_with(*cur_attr, tag.attr);
|
||||
char pre[132];
|
||||
if (snprintf(pre, 132, "[/%s]", idbuf) < ssizeof(pre)) {
|
||||
const char* etag = strstr(end,pre);
|
||||
if (etag == NULL) {
|
||||
const ssize_t len = ic_strlen(end);
|
||||
attrbuf_append_n(out, attr_out, end, len, attr);
|
||||
end += len;
|
||||
}
|
||||
else {
|
||||
attrbuf_append_n(out, attr_out, end, (etag - end), attr);
|
||||
end = etag + ic_strlen(pre);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
// pop the tag
|
||||
tag_t prev;
|
||||
if (bbcode_close( bb, nesting_base, tag.name, &prev)) {
|
||||
*cur_attr = prev.attr;
|
||||
if (prev.width.w > 0) {
|
||||
// closed a width tag; restrict the output to width
|
||||
bbcode_restrict_width( prev.pos, prev.width, out, attr_out);
|
||||
}
|
||||
}
|
||||
}
|
||||
return (end - s);
|
||||
}
|
||||
|
||||
ic_private void bbcode_append( bbcode_t* bb, const char* s, stringbuf_t* out, attrbuf_t* attr_out ) {
|
||||
if (bb == NULL || s == NULL) return;
|
||||
attr_t attr = attr_none();
|
||||
const ssize_t base = bb->tags_nesting; // base; will not be popped
|
||||
ssize_t i = 0;
|
||||
while( s[i] != 0 ) {
|
||||
// handle no tags in bulk
|
||||
ssize_t nobb = 0;
|
||||
char c;
|
||||
while( (c = s[i+nobb]) != 0) {
|
||||
if (c == '[' || c == '\\') { break; }
|
||||
if (c == '\x1B' && s[i+nobb+1] == '[') {
|
||||
nobb++; // don't count 'ESC[' as a tag opener
|
||||
}
|
||||
nobb++;
|
||||
}
|
||||
if (nobb > 0) { attrbuf_append_n(out, attr_out, s+i, nobb, attr); }
|
||||
i += nobb;
|
||||
// tag
|
||||
if (s[i] == '[') {
|
||||
i += bbcode_process_tag(bb, s+i, base, out, attr_out, &attr);
|
||||
}
|
||||
else if (s[i] == '\\') {
|
||||
if (s[i+1] == '\\' || s[i+1] == '[') {
|
||||
attrbuf_append_n(out, attr_out, s+i+1, 1, attr); // escape '\[' and '\\'
|
||||
i += 2;
|
||||
}
|
||||
else {
|
||||
attrbuf_append_n(out, attr_out, s+i, 1, attr); // pass '\\' as is
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
// pop unclosed openings
|
||||
assert(bb->tags_nesting >= base);
|
||||
while( bb->tags_nesting > base ) {
|
||||
bbcode_tag_pop(bb,NULL);
|
||||
};
|
||||
}
|
||||
|
||||
ic_private void bbcode_print( bbcode_t* bb, const char* s ) {
|
||||
if (bb->out == NULL || bb->out_attrs == NULL || s == NULL) return;
|
||||
assert(sbuf_len(bb->out) == 0 && attrbuf_len(bb->out_attrs) == 0);
|
||||
bbcode_append( bb, s, bb->out, bb->out_attrs );
|
||||
term_write_formatted( bb->term, sbuf_string(bb->out), attrbuf_attrs(bb->out_attrs,sbuf_len(bb->out)) );
|
||||
attrbuf_clear(bb->out_attrs);
|
||||
sbuf_clear(bb->out);
|
||||
}
|
||||
|
||||
ic_private void bbcode_println( bbcode_t* bb, const char* s ) {
|
||||
bbcode_print(bb,s);
|
||||
term_writeln(bb->term, "");
|
||||
}
|
||||
|
||||
ic_private void bbcode_vprintf( bbcode_t* bb, const char* fmt, va_list args ) {
|
||||
if (bb->vout == NULL || fmt == NULL) return;
|
||||
assert(sbuf_len(bb->vout) == 0);
|
||||
sbuf_append_vprintf(bb->vout,fmt,args);
|
||||
bbcode_print(bb, sbuf_string(bb->vout));
|
||||
sbuf_clear(bb->vout);
|
||||
}
|
||||
|
||||
ic_private void bbcode_printf( bbcode_t* bb, const char* fmt, ... ) {
|
||||
va_list args;
|
||||
va_start(args,fmt);
|
||||
bbcode_vprintf(bb,fmt,args);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
ic_private ssize_t bbcode_column_width( bbcode_t* bb, const char* s ) {
|
||||
if (s==NULL || s[0] == 0) return 0;
|
||||
if (bb->vout == NULL) { return str_column_width(s); }
|
||||
assert(sbuf_len(bb->vout) == 0);
|
||||
bbcode_append( bb, s, bb->vout, NULL);
|
||||
const ssize_t w = str_column_width(sbuf_string(bb->vout));
|
||||
sbuf_clear(bb->vout);
|
||||
return w;
|
||||
}
|
37
bin/isocline/src/bbcode.h
Normal file
37
bin/isocline/src/bbcode.h
Normal file
@ -0,0 +1,37 @@
|
||||
/* ----------------------------------------------------------------------------
|
||||
Copyright (c) 2021, Daan Leijen
|
||||
This is free software; you can redistribute it and/or modify it
|
||||
under the terms of the MIT License. A copy of the license can be
|
||||
found in the "LICENSE" file at the root of this distribution.
|
||||
-----------------------------------------------------------------------------*/
|
||||
#pragma once
|
||||
#ifndef IC_BBCODE_H
|
||||
#define IC_BBCODE_H
|
||||
|
||||
#include <stdarg.h>
|
||||
#include "common.h"
|
||||
#include "term.h"
|
||||
|
||||
struct bbcode_s;
|
||||
typedef struct bbcode_s bbcode_t;
|
||||
|
||||
ic_private bbcode_t* bbcode_new( alloc_t* mem, term_t* term );
|
||||
ic_private void bbcode_free( bbcode_t* bb );
|
||||
|
||||
ic_private void bbcode_style_add( bbcode_t* bb, const char* style_name, attr_t attr );
|
||||
ic_private void bbcode_style_def( bbcode_t* bb, const char* style_name, const char* s );
|
||||
ic_private void bbcode_style_open( bbcode_t* bb, const char* fmt );
|
||||
ic_private void bbcode_style_close( bbcode_t* bb, const char* fmt );
|
||||
ic_private attr_t bbcode_style( bbcode_t* bb, const char* style_name );
|
||||
|
||||
ic_private void bbcode_print( bbcode_t* bb, const char* s );
|
||||
ic_private void bbcode_println( bbcode_t* bb, const char* s );
|
||||
ic_private void bbcode_printf( bbcode_t* bb, const char* fmt, ... );
|
||||
ic_private void bbcode_vprintf( bbcode_t* bb, const char* fmt, va_list args );
|
||||
|
||||
ic_private ssize_t bbcode_column_width( bbcode_t* bb, const char* s );
|
||||
|
||||
// allows `attr_out == NULL`.
|
||||
ic_private void bbcode_append( bbcode_t* bb, const char* s, stringbuf_t* out, attrbuf_t* attr_out );
|
||||
|
||||
#endif // IC_BBCODE_H
|
194
bin/isocline/src/bbcode_colors.c
Normal file
194
bin/isocline/src/bbcode_colors.c
Normal file
@ -0,0 +1,194 @@
|
||||
/* ----------------------------------------------------------------------------
|
||||
Copyright (c) 2021, Daan Leijen
|
||||
This is free software; you can redistribute it and/or modify it
|
||||
under the terms of the MIT License. A copy of the license can be
|
||||
found in the "LICENSE" file at the root of this distribution.
|
||||
-----------------------------------------------------------------------------*/
|
||||
|
||||
// This file is included from "bbcode.c" and contains html color names
|
||||
|
||||
#include "common.h"
|
||||
|
||||
typedef struct style_color_s {
|
||||
const char* name;
|
||||
ic_color_t color;
|
||||
} style_color_t;
|
||||
|
||||
#define IC_HTML_COLOR_COUNT (172)
|
||||
|
||||
// ordered list of HTML color names (so we can use binary search)
|
||||
static style_color_t html_colors[IC_HTML_COLOR_COUNT+1] = {
|
||||
{ "aliceblue", IC_RGB(0xf0f8ff) },
|
||||
{ "ansi-aqua", IC_ANSI_AQUA },
|
||||
{ "ansi-black", IC_ANSI_BLACK },
|
||||
{ "ansi-blue", IC_ANSI_BLUE },
|
||||
{ "ansi-cyan", IC_ANSI_CYAN },
|
||||
{ "ansi-darkgray", IC_ANSI_DARKGRAY },
|
||||
{ "ansi-darkgrey", IC_ANSI_DARKGRAY },
|
||||
{ "ansi-default", IC_ANSI_DEFAULT },
|
||||
{ "ansi-fuchsia", IC_ANSI_FUCHSIA },
|
||||
{ "ansi-gray", IC_ANSI_GRAY },
|
||||
{ "ansi-green", IC_ANSI_GREEN },
|
||||
{ "ansi-grey", IC_ANSI_GRAY },
|
||||
{ "ansi-lightgray", IC_ANSI_LIGHTGRAY },
|
||||
{ "ansi-lightgrey", IC_ANSI_LIGHTGRAY },
|
||||
{ "ansi-lime" , IC_ANSI_LIME },
|
||||
{ "ansi-magenta", IC_ANSI_MAGENTA },
|
||||
{ "ansi-maroon", IC_ANSI_MAROON },
|
||||
{ "ansi-navy", IC_ANSI_NAVY },
|
||||
{ "ansi-olive", IC_ANSI_OLIVE },
|
||||
{ "ansi-purple", IC_ANSI_PURPLE },
|
||||
{ "ansi-red", IC_ANSI_RED },
|
||||
{ "ansi-silver", IC_ANSI_SILVER },
|
||||
{ "ansi-teal", IC_ANSI_TEAL },
|
||||
{ "ansi-white", IC_ANSI_WHITE },
|
||||
{ "ansi-yellow", IC_ANSI_YELLOW },
|
||||
{ "antiquewhite", IC_RGB(0xfaebd7) },
|
||||
{ "aqua", IC_RGB(0x00ffff) },
|
||||
{ "aquamarine", IC_RGB(0x7fffd4) },
|
||||
{ "azure", IC_RGB(0xf0ffff) },
|
||||
{ "beige", IC_RGB(0xf5f5dc) },
|
||||
{ "bisque", IC_RGB(0xffe4c4) },
|
||||
{ "black", IC_RGB(0x000000) },
|
||||
{ "blanchedalmond", IC_RGB(0xffebcd) },
|
||||
{ "blue", IC_RGB(0x0000ff) },
|
||||
{ "blueviolet", IC_RGB(0x8a2be2) },
|
||||
{ "brown", IC_RGB(0xa52a2a) },
|
||||
{ "burlywood", IC_RGB(0xdeb887) },
|
||||
{ "cadetblue", IC_RGB(0x5f9ea0) },
|
||||
{ "chartreuse", IC_RGB(0x7fff00) },
|
||||
{ "chocolate", IC_RGB(0xd2691e) },
|
||||
{ "coral", IC_RGB(0xff7f50) },
|
||||
{ "cornflowerblue", IC_RGB(0x6495ed) },
|
||||
{ "cornsilk", IC_RGB(0xfff8dc) },
|
||||
{ "crimson", IC_RGB(0xdc143c) },
|
||||
{ "cyan", IC_RGB(0x00ffff) },
|
||||
{ "darkblue", IC_RGB(0x00008b) },
|
||||
{ "darkcyan", IC_RGB(0x008b8b) },
|
||||
{ "darkgoldenrod", IC_RGB(0xb8860b) },
|
||||
{ "darkgray", IC_RGB(0xa9a9a9) },
|
||||
{ "darkgreen", IC_RGB(0x006400) },
|
||||
{ "darkgrey", IC_RGB(0xa9a9a9) },
|
||||
{ "darkkhaki", IC_RGB(0xbdb76b) },
|
||||
{ "darkmagenta", IC_RGB(0x8b008b) },
|
||||
{ "darkolivegreen", IC_RGB(0x556b2f) },
|
||||
{ "darkorange", IC_RGB(0xff8c00) },
|
||||
{ "darkorchid", IC_RGB(0x9932cc) },
|
||||
{ "darkred", IC_RGB(0x8b0000) },
|
||||
{ "darksalmon", IC_RGB(0xe9967a) },
|
||||
{ "darkseagreen", IC_RGB(0x8fbc8f) },
|
||||
{ "darkslateblue", IC_RGB(0x483d8b) },
|
||||
{ "darkslategray", IC_RGB(0x2f4f4f) },
|
||||
{ "darkslategrey", IC_RGB(0x2f4f4f) },
|
||||
{ "darkturquoise", IC_RGB(0x00ced1) },
|
||||
{ "darkviolet", IC_RGB(0x9400d3) },
|
||||
{ "deeppink", IC_RGB(0xff1493) },
|
||||
{ "deepskyblue", IC_RGB(0x00bfff) },
|
||||
{ "dimgray", IC_RGB(0x696969) },
|
||||
{ "dimgrey", IC_RGB(0x696969) },
|
||||
{ "dodgerblue", IC_RGB(0x1e90ff) },
|
||||
{ "firebrick", IC_RGB(0xb22222) },
|
||||
{ "floralwhite", IC_RGB(0xfffaf0) },
|
||||
{ "forestgreen", IC_RGB(0x228b22) },
|
||||
{ "fuchsia", IC_RGB(0xff00ff) },
|
||||
{ "gainsboro", IC_RGB(0xdcdcdc) },
|
||||
{ "ghostwhite", IC_RGB(0xf8f8ff) },
|
||||
{ "gold", IC_RGB(0xffd700) },
|
||||
{ "goldenrod", IC_RGB(0xdaa520) },
|
||||
{ "gray", IC_RGB(0x808080) },
|
||||
{ "green", IC_RGB(0x008000) },
|
||||
{ "greenyellow", IC_RGB(0xadff2f) },
|
||||
{ "grey", IC_RGB(0x808080) },
|
||||
{ "honeydew", IC_RGB(0xf0fff0) },
|
||||
{ "hotpink", IC_RGB(0xff69b4) },
|
||||
{ "indianred", IC_RGB(0xcd5c5c) },
|
||||
{ "indigo", IC_RGB(0x4b0082) },
|
||||
{ "ivory", IC_RGB(0xfffff0) },
|
||||
{ "khaki", IC_RGB(0xf0e68c) },
|
||||
{ "lavender", IC_RGB(0xe6e6fa) },
|
||||
{ "lavenderblush", IC_RGB(0xfff0f5) },
|
||||
{ "lawngreen", IC_RGB(0x7cfc00) },
|
||||
{ "lemonchiffon", IC_RGB(0xfffacd) },
|
||||
{ "lightblue", IC_RGB(0xadd8e6) },
|
||||
{ "lightcoral", IC_RGB(0xf08080) },
|
||||
{ "lightcyan", IC_RGB(0xe0ffff) },
|
||||
{ "lightgoldenrodyellow", IC_RGB(0xfafad2) },
|
||||
{ "lightgray", IC_RGB(0xd3d3d3) },
|
||||
{ "lightgreen", IC_RGB(0x90ee90) },
|
||||
{ "lightgrey", IC_RGB(0xd3d3d3) },
|
||||
{ "lightpink", IC_RGB(0xffb6c1) },
|
||||
{ "lightsalmon", IC_RGB(0xffa07a) },
|
||||
{ "lightseagreen", IC_RGB(0x20b2aa) },
|
||||
{ "lightskyblue", IC_RGB(0x87cefa) },
|
||||
{ "lightslategray", IC_RGB(0x778899) },
|
||||
{ "lightslategrey", IC_RGB(0x778899) },
|
||||
{ "lightsteelblue", IC_RGB(0xb0c4de) },
|
||||
{ "lightyellow", IC_RGB(0xffffe0) },
|
||||
{ "lime", IC_RGB(0x00ff00) },
|
||||
{ "limegreen", IC_RGB(0x32cd32) },
|
||||
{ "linen", IC_RGB(0xfaf0e6) },
|
||||
{ "magenta", IC_RGB(0xff00ff) },
|
||||
{ "maroon", IC_RGB(0x800000) },
|
||||
{ "mediumaquamarine", IC_RGB(0x66cdaa) },
|
||||
{ "mediumblue", IC_RGB(0x0000cd) },
|
||||
{ "mediumorchid", IC_RGB(0xba55d3) },
|
||||
{ "mediumpurple", IC_RGB(0x9370db) },
|
||||
{ "mediumseagreen", IC_RGB(0x3cb371) },
|
||||
{ "mediumslateblue", IC_RGB(0x7b68ee) },
|
||||
{ "mediumspringgreen", IC_RGB(0x00fa9a) },
|
||||
{ "mediumturquoise", IC_RGB(0x48d1cc) },
|
||||
{ "mediumvioletred", IC_RGB(0xc71585) },
|
||||
{ "midnightblue", IC_RGB(0x191970) },
|
||||
{ "mintcream", IC_RGB(0xf5fffa) },
|
||||
{ "mistyrose", IC_RGB(0xffe4e1) },
|
||||
{ "moccasin", IC_RGB(0xffe4b5) },
|
||||
{ "navajowhite", IC_RGB(0xffdead) },
|
||||
{ "navy", IC_RGB(0x000080) },
|
||||
{ "oldlace", IC_RGB(0xfdf5e6) },
|
||||
{ "olive", IC_RGB(0x808000) },
|
||||
{ "olivedrab", IC_RGB(0x6b8e23) },
|
||||
{ "orange", IC_RGB(0xffa500) },
|
||||
{ "orangered", IC_RGB(0xff4500) },
|
||||
{ "orchid", IC_RGB(0xda70d6) },
|
||||
{ "palegoldenrod", IC_RGB(0xeee8aa) },
|
||||
{ "palegreen", IC_RGB(0x98fb98) },
|
||||
{ "paleturquoise", IC_RGB(0xafeeee) },
|
||||
{ "palevioletred", IC_RGB(0xdb7093) },
|
||||
{ "papayawhip", IC_RGB(0xffefd5) },
|
||||
{ "peachpuff", IC_RGB(0xffdab9) },
|
||||
{ "peru", IC_RGB(0xcd853f) },
|
||||
{ "pink", IC_RGB(0xffc0cb) },
|
||||
{ "plum", IC_RGB(0xdda0dd) },
|
||||
{ "powderblue", IC_RGB(0xb0e0e6) },
|
||||
{ "purple", IC_RGB(0x800080) },
|
||||
{ "rebeccapurple", IC_RGB(0x663399) },
|
||||
{ "red", IC_RGB(0xff0000) },
|
||||
{ "rosybrown", IC_RGB(0xbc8f8f) },
|
||||
{ "royalblue", IC_RGB(0x4169e1) },
|
||||
{ "saddlebrown", IC_RGB(0x8b4513) },
|
||||
{ "salmon", IC_RGB(0xfa8072) },
|
||||
{ "sandybrown", IC_RGB(0xf4a460) },
|
||||
{ "seagreen", IC_RGB(0x2e8b57) },
|
||||
{ "seashell", IC_RGB(0xfff5ee) },
|
||||
{ "sienna", IC_RGB(0xa0522d) },
|
||||
{ "silver", IC_RGB(0xc0c0c0) },
|
||||
{ "skyblue", IC_RGB(0x87ceeb) },
|
||||
{ "slateblue", IC_RGB(0x6a5acd) },
|
||||
{ "slategray", IC_RGB(0x708090) },
|
||||
{ "slategrey", IC_RGB(0x708090) },
|
||||
{ "snow", IC_RGB(0xfffafa) },
|
||||
{ "springgreen", IC_RGB(0x00ff7f) },
|
||||
{ "steelblue", IC_RGB(0x4682b4) },
|
||||
{ "tan", IC_RGB(0xd2b48c) },
|
||||
{ "teal", IC_RGB(0x008080) },
|
||||
{ "thistle", IC_RGB(0xd8bfd8) },
|
||||
{ "tomato", IC_RGB(0xff6347) },
|
||||
{ "turquoise", IC_RGB(0x40e0d0) },
|
||||
{ "violet", IC_RGB(0xee82ee) },
|
||||
{ "wheat", IC_RGB(0xf5deb3) },
|
||||
{ "white", IC_RGB(0xffffff) },
|
||||
{ "whitesmoke", IC_RGB(0xf5f5f5) },
|
||||
{ "yellow", IC_RGB(0xffff00) },
|
||||
{ "yellowgreen", IC_RGB(0x9acd32) },
|
||||
{NULL, 0}
|
||||
};
|
347
bin/isocline/src/common.c
Normal file
347
bin/isocline/src/common.c
Normal file
@ -0,0 +1,347 @@
|
||||
/* ----------------------------------------------------------------------------
|
||||
Copyright (c) 2021, Daan Leijen
|
||||
This is free software; you can redistribute it and/or modify it
|
||||
under the terms of the MIT License. A copy of the license can be
|
||||
found in the "LICENSE" file at the root of this distribution.
|
||||
-----------------------------------------------------------------------------*/
|
||||
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#include "common.h"
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// String wrappers for ssize_t
|
||||
//-------------------------------------------------------------
|
||||
|
||||
ic_private ssize_t ic_strlen( const char* s ) {
|
||||
if (s==NULL) return 0;
|
||||
return to_ssize_t(strlen(s));
|
||||
}
|
||||
|
||||
ic_private void ic_memmove( void* dest, const void* src, ssize_t n ) {
|
||||
assert(dest!=NULL && src != NULL);
|
||||
if (n <= 0) return;
|
||||
memmove(dest,src,to_size_t(n));
|
||||
}
|
||||
|
||||
|
||||
ic_private void ic_memcpy( void* dest, const void* src, ssize_t n ) {
|
||||
assert(dest!=NULL && src != NULL);
|
||||
if (dest == NULL || src == NULL || n <= 0) return;
|
||||
memcpy(dest,src,to_size_t(n));
|
||||
}
|
||||
|
||||
ic_private void ic_memset(void* dest, uint8_t value, ssize_t n) {
|
||||
assert(dest!=NULL);
|
||||
if (dest == NULL || n <= 0) return;
|
||||
memset(dest,(int8_t)value,to_size_t(n));
|
||||
}
|
||||
|
||||
ic_private bool ic_memnmove( void* dest, ssize_t dest_size, const void* src, ssize_t n ) {
|
||||
assert(dest!=NULL && src != NULL);
|
||||
if (n <= 0) return true;
|
||||
if (dest_size < n) { assert(false); return false; }
|
||||
memmove(dest,src,to_size_t(n));
|
||||
return true;
|
||||
}
|
||||
|
||||
ic_private bool ic_strcpy( char* dest, ssize_t dest_size /* including 0 */, const char* src) {
|
||||
assert(dest!=NULL && src != NULL);
|
||||
if (dest == NULL || dest_size <= 0) return false;
|
||||
ssize_t slen = ic_strlen(src);
|
||||
if (slen >= dest_size) return false;
|
||||
strcpy(dest,src);
|
||||
assert(dest[slen] == 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
ic_private bool ic_strncpy( char* dest, ssize_t dest_size /* including 0 */, const char* src, ssize_t n) {
|
||||
assert(dest!=NULL && n < dest_size);
|
||||
if (dest == NULL || dest_size <= 0) return false;
|
||||
if (n >= dest_size) return false;
|
||||
if (src==NULL || n <= 0) {
|
||||
dest[0] = 0;
|
||||
}
|
||||
else {
|
||||
strncpy(dest,src,to_size_t(n));
|
||||
dest[n] = 0;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// String matching
|
||||
//-------------------------------------------------------------
|
||||
|
||||
ic_public bool ic_starts_with( const char* s, const char* prefix ) {
|
||||
if (s==prefix) return true;
|
||||
if (prefix==NULL) return true;
|
||||
if (s==NULL) return false;
|
||||
|
||||
ssize_t i;
|
||||
for( i = 0; s[i] != 0 && prefix[i] != 0; i++) {
|
||||
if (s[i] != prefix[i]) return false;
|
||||
}
|
||||
return (prefix[i] == 0);
|
||||
}
|
||||
|
||||
ic_private char ic_tolower( char c ) {
|
||||
return (c >= 'A' && c <= 'Z' ? c - 'A' + 'a' : c);
|
||||
}
|
||||
|
||||
ic_private void ic_str_tolower(char* s) {
|
||||
while(*s != 0) {
|
||||
*s = ic_tolower(*s);
|
||||
s++;
|
||||
}
|
||||
}
|
||||
|
||||
ic_public bool ic_istarts_with( const char* s, const char* prefix ) {
|
||||
if (s==prefix) return true;
|
||||
if (prefix==NULL) return true;
|
||||
if (s==NULL) return false;
|
||||
|
||||
ssize_t i;
|
||||
for( i = 0; s[i] != 0 && prefix[i] != 0; i++) {
|
||||
if (ic_tolower(s[i]) != ic_tolower(prefix[i])) return false;
|
||||
}
|
||||
return (prefix[i] == 0);
|
||||
}
|
||||
|
||||
|
||||
ic_private int ic_strnicmp(const char* s1, const char* s2, ssize_t n) {
|
||||
if (s1 == NULL && s2 == NULL) return 0;
|
||||
if (s1 == NULL) return -1;
|
||||
if (s2 == NULL) return 1;
|
||||
ssize_t i;
|
||||
for (i = 0; s1[i] != 0 && i < n; i++) { // note: if s2[i] == 0 the loop will stop as c1 != c2
|
||||
char c1 = ic_tolower(s1[i]);
|
||||
char c2 = ic_tolower(s2[i]);
|
||||
if (c1 < c2) return -1;
|
||||
if (c1 > c2) return 1;
|
||||
}
|
||||
return ((i >= n || s2[i] == 0) ? 0 : -1);
|
||||
}
|
||||
|
||||
ic_private int ic_stricmp(const char* s1, const char* s2) {
|
||||
ssize_t len1 = ic_strlen(s1);
|
||||
ssize_t len2 = ic_strlen(s2);
|
||||
if (len1 < len2) return -1;
|
||||
if (len1 > len2) return 1;
|
||||
return (ic_strnicmp(s1, s2, (len1 >= len2 ? len1 : len2)));
|
||||
}
|
||||
|
||||
|
||||
static const char* ic_stristr(const char* s, const char* pat) {
|
||||
if (s==NULL) return NULL;
|
||||
if (pat==NULL || pat[0] == 0) return s;
|
||||
ssize_t patlen = ic_strlen(pat);
|
||||
for (ssize_t i = 0; s[i] != 0; i++) {
|
||||
if (ic_strnicmp(s + i, pat, patlen) == 0) return (s+i);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ic_private bool ic_contains(const char* big, const char* s) {
|
||||
if (big == NULL) return false;
|
||||
if (s == NULL) return true;
|
||||
return (strstr(big,s) != NULL);
|
||||
}
|
||||
|
||||
ic_private bool ic_icontains(const char* big, const char* s) {
|
||||
if (big == NULL) return false;
|
||||
if (s == NULL) return true;
|
||||
return (ic_stristr(big,s) != NULL);
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Unicode
|
||||
// QUTF-8: See <https://github.com/koka-lang/koka/blob/master/kklib/include/kklib/string.h>
|
||||
// Raw bytes are code points 0xEE000 - 0xEE0FF
|
||||
//-------------------------------------------------------------
|
||||
#define IC_UNICODE_RAW ((unicode_t)(0xEE000U))
|
||||
|
||||
ic_private unicode_t unicode_from_raw(uint8_t c) {
|
||||
return (IC_UNICODE_RAW + c);
|
||||
}
|
||||
|
||||
ic_private bool unicode_is_raw(unicode_t u, uint8_t* c) {
|
||||
if (u >= IC_UNICODE_RAW && u <= IC_UNICODE_RAW + 0xFF) {
|
||||
*c = (uint8_t)(u - IC_UNICODE_RAW);
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
ic_private void unicode_to_qutf8(unicode_t u, uint8_t buf[5]) {
|
||||
memset(buf, 0, 5);
|
||||
if (u <= 0x7F) {
|
||||
buf[0] = (uint8_t)u;
|
||||
}
|
||||
else if (u <= 0x07FF) {
|
||||
buf[0] = (0xC0 | ((uint8_t)(u >> 6)));
|
||||
buf[1] = (0x80 | (((uint8_t)u) & 0x3F));
|
||||
}
|
||||
else if (u <= 0xFFFF) {
|
||||
buf[0] = (0xE0 | ((uint8_t)(u >> 12)));
|
||||
buf[1] = (0x80 | (((uint8_t)(u >> 6)) & 0x3F));
|
||||
buf[2] = (0x80 | (((uint8_t)u) & 0x3F));
|
||||
}
|
||||
else if (u <= 0x10FFFF) {
|
||||
if (unicode_is_raw(u, &buf[0])) {
|
||||
buf[1] = 0;
|
||||
}
|
||||
else {
|
||||
buf[0] = (0xF0 | ((uint8_t)(u >> 18)));
|
||||
buf[1] = (0x80 | (((uint8_t)(u >> 12)) & 0x3F));
|
||||
buf[2] = (0x80 | (((uint8_t)(u >> 6)) & 0x3F));
|
||||
buf[3] = (0x80 | (((uint8_t)u) & 0x3F));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// is this a utf8 continuation byte?
|
||||
ic_private bool utf8_is_cont(uint8_t c) {
|
||||
return ((c & 0xC0) == 0x80);
|
||||
}
|
||||
|
||||
ic_private unicode_t unicode_from_qutf8(const uint8_t* s, ssize_t len, ssize_t* count) {
|
||||
unicode_t c0 = 0;
|
||||
if (len <= 0 || s == NULL) {
|
||||
goto fail;
|
||||
}
|
||||
// 1 byte
|
||||
c0 = s[0];
|
||||
if (c0 <= 0x7F && len >= 1) {
|
||||
if (count != NULL) *count = 1;
|
||||
return c0;
|
||||
}
|
||||
else if (c0 <= 0xC1) { // invalid continuation byte or invalid 0xC0, 0xC1
|
||||
goto fail;
|
||||
}
|
||||
// 2 bytes
|
||||
else if (c0 <= 0xDF && len >= 2 && utf8_is_cont(s[1])) {
|
||||
if (count != NULL) *count = 2;
|
||||
return (((c0 & 0x1F) << 6) | (s[1] & 0x3F));
|
||||
}
|
||||
// 3 bytes: reject overlong and surrogate halves
|
||||
else if (len >= 3 &&
|
||||
((c0 == 0xE0 && s[1] >= 0xA0 && s[1] <= 0xBF && utf8_is_cont(s[2])) ||
|
||||
(c0 >= 0xE1 && c0 <= 0xEC && utf8_is_cont(s[1]) && utf8_is_cont(s[2]))
|
||||
))
|
||||
{
|
||||
if (count != NULL) *count = 3;
|
||||
return (((c0 & 0x0F) << 12) | ((unicode_t)(s[1] & 0x3F) << 6) | (s[2] & 0x3F));
|
||||
}
|
||||
// 4 bytes: reject overlong
|
||||
else if (len >= 4 &&
|
||||
(((c0 == 0xF0 && s[1] >= 0x90 && s[1] <= 0xBF && utf8_is_cont(s[2]) && utf8_is_cont(s[3])) ||
|
||||
(c0 >= 0xF1 && c0 <= 0xF3 && utf8_is_cont(s[1]) && utf8_is_cont(s[2]) && utf8_is_cont(s[3])) ||
|
||||
(c0 == 0xF4 && s[1] >= 0x80 && s[1] <= 0x8F && utf8_is_cont(s[2]) && utf8_is_cont(s[3])))
|
||||
))
|
||||
{
|
||||
if (count != NULL) *count = 4;
|
||||
return (((c0 & 0x07) << 18) | ((unicode_t)(s[1] & 0x3F) << 12) | ((unicode_t)(s[2] & 0x3F) << 6) | (s[3] & 0x3F));
|
||||
}
|
||||
fail:
|
||||
if (count != NULL) *count = 1;
|
||||
return unicode_from_raw(s[0]);
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Debug
|
||||
//-------------------------------------------------------------
|
||||
|
||||
#if defined(IC_NO_DEBUG_MSG)
|
||||
// nothing
|
||||
#elif !defined(IC_DEBUG_TO_FILE)
|
||||
ic_private void debug_msg(const char* fmt, ...) {
|
||||
if (getenv("ISOCLINE_DEBUG")) {
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
vfprintf(stderr, fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
}
|
||||
#else
|
||||
ic_private void debug_msg(const char* fmt, ...) {
|
||||
static int debug_init;
|
||||
static const char* debug_fname = "isocline.debug.txt";
|
||||
// initialize?
|
||||
if (debug_init==0) {
|
||||
debug_init = -1;
|
||||
const char* rdebug = getenv("ISOCLINE_DEBUG");
|
||||
if (rdebug!=NULL && strcmp(rdebug,"1") == 0) {
|
||||
FILE* fdbg = fopen(debug_fname, "w");
|
||||
if (fdbg!=NULL) {
|
||||
debug_init = 1;
|
||||
fclose(fdbg);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (debug_init <= 0) return;
|
||||
|
||||
// write debug messages
|
||||
FILE* fdbg = fopen(debug_fname, "a");
|
||||
if (fdbg==NULL) return;
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
vfprintf(fdbg, fmt, args);
|
||||
fclose(fdbg);
|
||||
va_end(args);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Allocation
|
||||
//-------------------------------------------------------------
|
||||
|
||||
ic_private void* mem_malloc(alloc_t* mem, ssize_t sz) {
|
||||
return mem->malloc(to_size_t(sz));
|
||||
}
|
||||
|
||||
ic_private void* mem_zalloc(alloc_t* mem, ssize_t sz) {
|
||||
void* p = mem_malloc(mem, sz);
|
||||
if (p != NULL) memset(p, 0, to_size_t(sz));
|
||||
return p;
|
||||
}
|
||||
|
||||
ic_private void* mem_realloc(alloc_t* mem, void* p, ssize_t newsz) {
|
||||
return mem->realloc(p, to_size_t(newsz));
|
||||
}
|
||||
|
||||
ic_private void mem_free(alloc_t* mem, const void* p) {
|
||||
mem->free((void*)p);
|
||||
}
|
||||
|
||||
ic_private char* mem_strdup(alloc_t* mem, const char* s) {
|
||||
if (s==NULL) return NULL;
|
||||
ssize_t n = ic_strlen(s);
|
||||
char* p = mem_malloc_tp_n(mem, char, n+1);
|
||||
if (p == NULL) return NULL;
|
||||
ic_memcpy(p, s, n+1);
|
||||
return p;
|
||||
}
|
||||
|
||||
ic_private char* mem_strndup(alloc_t* mem, const char* s, ssize_t n) {
|
||||
if (s==NULL || n < 0) return NULL;
|
||||
char* p = mem_malloc_tp_n(mem, char, n+1);
|
||||
if (p == NULL) return NULL;
|
||||
ssize_t i;
|
||||
for (i = 0; i < n && s[i] != 0; i++) {
|
||||
p[i] = s[i];
|
||||
}
|
||||
assert(i <= n);
|
||||
p[i] = 0;
|
||||
return p;
|
||||
}
|
||||
|
187
bin/isocline/src/common.h
Normal file
187
bin/isocline/src/common.h
Normal file
@ -0,0 +1,187 @@
|
||||
/* ----------------------------------------------------------------------------
|
||||
Copyright (c) 2021, Daan Leijen
|
||||
This is free software; you can redistribute it and/or modify it
|
||||
under the terms of the MIT License. A copy of the license can be
|
||||
found in the "LICENSE" file at the root of this distribution.
|
||||
-----------------------------------------------------------------------------*/
|
||||
|
||||
#pragma once
|
||||
#ifndef IC_COMMON_H
|
||||
#define IC_COMMON_H
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Headers and defines
|
||||
//-------------------------------------------------------------
|
||||
|
||||
#include <sys/types.h> // ssize_t
|
||||
#include <limits.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <assert.h>
|
||||
#include "../include/isocline.h" // ic_malloc_fun_t, ic_color_t etc.
|
||||
|
||||
# ifdef __cplusplus
|
||||
# define ic_extern_c extern "C"
|
||||
# else
|
||||
# define ic_extern_c
|
||||
# endif
|
||||
|
||||
#if defined(IC_SEPARATE_OBJS)
|
||||
# define ic_public ic_extern_c
|
||||
# if defined(__GNUC__) // includes clang and icc
|
||||
# define ic_private __attribute__((visibility("hidden")))
|
||||
# else
|
||||
# define ic_private
|
||||
# endif
|
||||
#else
|
||||
# define ic_private static
|
||||
# define ic_public ic_extern_c
|
||||
#endif
|
||||
|
||||
#define ic_unused(x) (void)(x)
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// ssize_t
|
||||
//-------------------------------------------------------------
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
typedef intptr_t ssize_t;
|
||||
#endif
|
||||
|
||||
#define ssizeof(tp) (ssize_t)(sizeof(tp))
|
||||
static inline size_t to_size_t(ssize_t sz) { return (sz >= 0 ? (size_t)sz : 0); }
|
||||
static inline ssize_t to_ssize_t(size_t sz) { return (sz <= SIZE_MAX/2 ? (ssize_t)sz : 0); }
|
||||
|
||||
ic_private void ic_memmove(void* dest, const void* src, ssize_t n);
|
||||
ic_private void ic_memcpy(void* dest, const void* src, ssize_t n);
|
||||
ic_private void ic_memset(void* dest, uint8_t value, ssize_t n);
|
||||
ic_private bool ic_memnmove(void* dest, ssize_t dest_size, const void* src, ssize_t n);
|
||||
|
||||
ic_private ssize_t ic_strlen(const char* s);
|
||||
ic_private bool ic_strcpy(char* dest, ssize_t dest_size /* including 0 */, const char* src);
|
||||
ic_private bool ic_strncpy(char* dest, ssize_t dest_size /* including 0 */, const char* src, ssize_t n);
|
||||
|
||||
ic_private bool ic_contains(const char* big, const char* s);
|
||||
ic_private bool ic_icontains(const char* big, const char* s);
|
||||
ic_private char ic_tolower(char c);
|
||||
ic_private void ic_str_tolower(char* s);
|
||||
ic_private int ic_stricmp(const char* s1, const char* s2);
|
||||
ic_private int ic_strnicmp(const char* s1, const char* s2, ssize_t n);
|
||||
|
||||
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Unicode
|
||||
//
|
||||
// We use "qutf-8" (quite like utf-8) encoding and decoding.
|
||||
// Internally we always use valid utf-8. If we encounter invalid
|
||||
// utf-8 bytes (or bytes >= 0x80 from any other encoding) we encode
|
||||
// these as special code points in the "raw plane" (0xEE000 - 0xEE0FF).
|
||||
// When decoding we are then able to restore such raw bytes as-is.
|
||||
// See <https://github.com/koka-lang/koka/blob/master/kklib/include/kklib/string.h>
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
typedef uint32_t unicode_t;
|
||||
|
||||
ic_private void unicode_to_qutf8(unicode_t u, uint8_t buf[5]);
|
||||
ic_private unicode_t unicode_from_qutf8(const uint8_t* s, ssize_t len, ssize_t* nread); // validating
|
||||
|
||||
ic_private unicode_t unicode_from_raw(uint8_t c);
|
||||
ic_private bool unicode_is_raw(unicode_t u, uint8_t* c);
|
||||
|
||||
ic_private bool utf8_is_cont(uint8_t c);
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Colors
|
||||
//-------------------------------------------------------------
|
||||
|
||||
// A color is either RGB or an ANSI code.
|
||||
// (RGB colors have bit 24 set to distinguish them from the ANSI color palette colors.)
|
||||
// (Isocline will automatically convert from RGB on terminals that do not support full colors)
|
||||
typedef uint32_t ic_color_t;
|
||||
|
||||
// Create a color from a 24-bit color value.
|
||||
ic_private ic_color_t ic_rgb(uint32_t hex);
|
||||
|
||||
// Create a color from a 8-bit red/green/blue components.
|
||||
// The value of each component is capped between 0 and 255.
|
||||
ic_private ic_color_t ic_rgbx(ssize_t r, ssize_t g, ssize_t b);
|
||||
|
||||
#define IC_COLOR_NONE (0)
|
||||
#define IC_RGB(rgb) (0x1000000 | (uint32_t)(rgb)) // ic_rgb(rgb) // define to it can be used as a constant
|
||||
|
||||
// ANSI colors.
|
||||
// The actual colors used is usually determined by the terminal theme
|
||||
// See <https://en.wikipedia.org/wiki/ANSI_escape_code#3-bit_and_4-bit>
|
||||
#define IC_ANSI_BLACK (30)
|
||||
#define IC_ANSI_MAROON (31)
|
||||
#define IC_ANSI_GREEN (32)
|
||||
#define IC_ANSI_OLIVE (33)
|
||||
#define IC_ANSI_NAVY (34)
|
||||
#define IC_ANSI_PURPLE (35)
|
||||
#define IC_ANSI_TEAL (36)
|
||||
#define IC_ANSI_SILVER (37)
|
||||
#define IC_ANSI_DEFAULT (39)
|
||||
|
||||
#define IC_ANSI_GRAY (90)
|
||||
#define IC_ANSI_RED (91)
|
||||
#define IC_ANSI_LIME (92)
|
||||
#define IC_ANSI_YELLOW (93)
|
||||
#define IC_ANSI_BLUE (94)
|
||||
#define IC_ANSI_FUCHSIA (95)
|
||||
#define IC_ANSI_AQUA (96)
|
||||
#define IC_ANSI_WHITE (97)
|
||||
|
||||
#define IC_ANSI_DARKGRAY IC_ANSI_GRAY
|
||||
#define IC_ANSI_LIGHTGRAY IC_ANSI_SILVER
|
||||
#define IC_ANSI_MAGENTA IC_ANSI_FUCHSIA
|
||||
#define IC_ANSI_CYAN IC_ANSI_AQUA
|
||||
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Debug
|
||||
//-------------------------------------------------------------
|
||||
|
||||
#if defined(IC_NO_DEBUG_MSG)
|
||||
#define debug_msg(fmt,...) (void)(0)
|
||||
#else
|
||||
ic_private void debug_msg( const char* fmt, ... );
|
||||
#endif
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Abstract environment
|
||||
//-------------------------------------------------------------
|
||||
struct ic_env_s;
|
||||
typedef struct ic_env_s ic_env_t;
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Allocation
|
||||
//-------------------------------------------------------------
|
||||
|
||||
typedef struct alloc_s {
|
||||
ic_malloc_fun_t* malloc;
|
||||
ic_realloc_fun_t* realloc;
|
||||
ic_free_fun_t* free;
|
||||
} alloc_t;
|
||||
|
||||
|
||||
ic_private void* mem_malloc( alloc_t* mem, ssize_t sz );
|
||||
ic_private void* mem_zalloc( alloc_t* mem, ssize_t sz );
|
||||
ic_private void* mem_realloc( alloc_t* mem, void* p, ssize_t newsz );
|
||||
ic_private void mem_free( alloc_t* mem, const void* p );
|
||||
ic_private char* mem_strdup( alloc_t* mem, const char* s);
|
||||
ic_private char* mem_strndup( alloc_t* mem, const char* s, ssize_t n);
|
||||
|
||||
#define mem_zalloc_tp(mem,tp) (tp*)mem_zalloc(mem,ssizeof(tp))
|
||||
#define mem_malloc_tp_n(mem,tp,n) (tp*)mem_malloc(mem,(n)*ssizeof(tp))
|
||||
#define mem_zalloc_tp_n(mem,tp,n) (tp*)mem_zalloc(mem,(n)*ssizeof(tp))
|
||||
#define mem_realloc_tp(mem,tp,p,n) (tp*)mem_realloc(mem,p,(n)*ssizeof(tp))
|
||||
|
||||
|
||||
#endif // IC_COMMON_H
|
675
bin/isocline/src/completers.c
Normal file
675
bin/isocline/src/completers.c
Normal file
@ -0,0 +1,675 @@
|
||||
/* ----------------------------------------------------------------------------
|
||||
Copyright (c) 2021, Daan Leijen
|
||||
This is free software; you can redistribute it and/or modify it
|
||||
under the terms of the MIT License. A copy of the license can be
|
||||
found in the "LICENSE" file at the root of this distribution.
|
||||
-----------------------------------------------------------------------------*/
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "../include/isocline.h"
|
||||
#include "common.h"
|
||||
#include "env.h"
|
||||
#include "stringbuf.h"
|
||||
#include "completions.h"
|
||||
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Word completion
|
||||
//-------------------------------------------------------------
|
||||
|
||||
// free variables for word completion
|
||||
typedef struct word_closure_s {
|
||||
long delete_before_adjust;
|
||||
void* prev_env;
|
||||
ic_completion_fun_t* prev_complete;
|
||||
} word_closure_t;
|
||||
|
||||
|
||||
// word completion callback
|
||||
static bool token_add_completion_ex(ic_env_t* env, void* closure, const char* replacement, const char* display, const char* help, long delete_before, long delete_after) {
|
||||
word_closure_t* wenv = (word_closure_t*)(closure);
|
||||
// call the previous completer with an adjusted delete-before
|
||||
return (*wenv->prev_complete)(env, wenv->prev_env, replacement, display, help, wenv->delete_before_adjust + delete_before, delete_after);
|
||||
}
|
||||
|
||||
|
||||
ic_public void ic_complete_word(ic_completion_env_t* cenv, const char* prefix, ic_completer_fun_t* fun,
|
||||
ic_is_char_class_fun_t* is_word_char)
|
||||
{
|
||||
if (is_word_char == NULL) is_word_char = &ic_char_is_nonseparator;
|
||||
|
||||
ssize_t len = ic_strlen(prefix);
|
||||
ssize_t pos = len; // will be start of the 'word' (excluding a potential start quote)
|
||||
while (pos > 0) {
|
||||
// go back one code point
|
||||
ssize_t ofs = str_prev_ofs(prefix, pos, NULL);
|
||||
if (ofs <= 0) break;
|
||||
if (!(*is_word_char)(prefix + (pos - ofs), (long)ofs)) {
|
||||
break;
|
||||
}
|
||||
pos -= ofs;
|
||||
}
|
||||
if (pos < 0) { pos = 0; }
|
||||
|
||||
// stop if empty word
|
||||
// if (len == pos) return;
|
||||
|
||||
// set up the closure
|
||||
word_closure_t wenv;
|
||||
wenv.delete_before_adjust = (long)(len - pos);
|
||||
wenv.prev_complete = cenv->complete;
|
||||
wenv.prev_env = cenv->env;
|
||||
cenv->complete = &token_add_completion_ex;
|
||||
cenv->closure = &wenv;
|
||||
|
||||
// and call the user completion routine
|
||||
(*fun)(cenv, prefix + pos);
|
||||
|
||||
// restore the original environment
|
||||
cenv->complete = wenv.prev_complete;
|
||||
cenv->closure = wenv.prev_env;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Quoted word completion (with escape characters)
|
||||
//-------------------------------------------------------------
|
||||
|
||||
// free variables for word completion
|
||||
typedef struct qword_closure_s {
|
||||
char escape_char;
|
||||
char quote;
|
||||
long delete_before_adjust;
|
||||
stringbuf_t* sbuf;
|
||||
void* prev_env;
|
||||
ic_is_char_class_fun_t* is_word_char;
|
||||
ic_completion_fun_t* prev_complete;
|
||||
} qword_closure_t;
|
||||
|
||||
|
||||
// word completion callback
|
||||
static bool qword_add_completion_ex(ic_env_t* env, void* closure, const char* replacement, const char* display, const char* help,
|
||||
long delete_before, long delete_after) {
|
||||
qword_closure_t* wenv = (qword_closure_t*)(closure);
|
||||
sbuf_replace( wenv->sbuf, replacement );
|
||||
if (wenv->quote != 0) {
|
||||
// add end quote
|
||||
sbuf_append_char( wenv->sbuf, wenv->quote);
|
||||
}
|
||||
else {
|
||||
// escape non-word characters if it was not quoted
|
||||
ssize_t pos = 0;
|
||||
ssize_t next;
|
||||
while ( (next = sbuf_next_ofs(wenv->sbuf, pos, NULL)) > 0 )
|
||||
{
|
||||
if (!(*wenv->is_word_char)(sbuf_string(wenv->sbuf) + pos, (long)next)) { // strchr(wenv->non_word_char, sbuf_char_at( wenv->sbuf, pos )) != NULL) {
|
||||
sbuf_insert_char_at( wenv->sbuf, wenv->escape_char, pos);
|
||||
pos++;
|
||||
}
|
||||
pos += next;
|
||||
}
|
||||
}
|
||||
// and call the previous completion function
|
||||
return (*wenv->prev_complete)( env, wenv->prev_env, sbuf_string(wenv->sbuf), display, help, wenv->delete_before_adjust + delete_before, delete_after );
|
||||
}
|
||||
|
||||
|
||||
ic_public void ic_complete_qword( ic_completion_env_t* cenv, const char* prefix, ic_completer_fun_t* fun, ic_is_char_class_fun_t* is_word_char ) {
|
||||
ic_complete_qword_ex( cenv, prefix, fun, is_word_char, '\\', NULL);
|
||||
}
|
||||
|
||||
|
||||
ic_public void ic_complete_qword_ex( ic_completion_env_t* cenv, const char* prefix, ic_completer_fun_t* fun,
|
||||
ic_is_char_class_fun_t* is_word_char, char escape_char, const char* quote_chars ) {
|
||||
if (is_word_char == NULL) is_word_char = &ic_char_is_nonseparator ;
|
||||
if (quote_chars == NULL) quote_chars = "'\"";
|
||||
|
||||
ssize_t len = ic_strlen(prefix);
|
||||
ssize_t pos; // will be start of the 'word' (excluding a potential start quote)
|
||||
char quote = 0;
|
||||
ssize_t quote_len = 0;
|
||||
|
||||
// 1. look for a starting quote
|
||||
if (quote_chars[0] != 0) {
|
||||
// we go forward and count all quotes; if it is uneven, we need to complete quoted.
|
||||
ssize_t qpos_open = -1;
|
||||
ssize_t qpos_close = -1;
|
||||
ssize_t qcount = 0;
|
||||
pos = 0;
|
||||
while(pos < len) {
|
||||
if (prefix[pos] == escape_char && prefix[pos+1] != 0 &&
|
||||
!(*is_word_char)(prefix + pos + 1, 1)) // strchr(non_word_char, prefix[pos+1]) != NULL
|
||||
{
|
||||
pos++; // skip escape and next char
|
||||
}
|
||||
else if (qcount % 2 == 0 && strchr(quote_chars, prefix[pos]) != NULL) {
|
||||
// open quote
|
||||
qpos_open = pos;
|
||||
quote = prefix[pos];
|
||||
qcount++;
|
||||
}
|
||||
else if (qcount % 2 == 1 && prefix[pos] == quote) {
|
||||
// close quote
|
||||
qpos_close = pos;
|
||||
qcount++;
|
||||
}
|
||||
else if (!(*is_word_char)(prefix + pos, 1)) { // strchr(non_word_char, prefix[pos]) != NULL) {
|
||||
qpos_close = -1;
|
||||
}
|
||||
ssize_t ofs = str_next_ofs( prefix, len, pos, NULL );
|
||||
if (ofs <= 0) break;
|
||||
pos += ofs;
|
||||
}
|
||||
if ((qcount % 2 == 0 && qpos_close >= 0) || // if the last quote is only followed by word chars, we still complete it
|
||||
(qcount % 2 == 1)) // opening quote found
|
||||
{
|
||||
quote_len = (len - qpos_open - 1);
|
||||
pos = qpos_open + 1; // pos points to the word start just after the quote.
|
||||
}
|
||||
else {
|
||||
quote = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// 2. if we did not find a quoted word, look for non-word-chars
|
||||
if (quote == 0) {
|
||||
pos = len;
|
||||
while(pos > 0) {
|
||||
// go back one code point
|
||||
ssize_t ofs = str_prev_ofs(prefix, pos, NULL );
|
||||
if (ofs <= 0) break;
|
||||
if (!(*is_word_char)(prefix + (pos - ofs), (long)ofs)) { // strchr(non_word_char, prefix[pos - ofs]) != NULL) {
|
||||
// non word char, break if it is not escaped
|
||||
if (pos <= ofs || prefix[pos - ofs - 1] != escape_char) break;
|
||||
// otherwise go on
|
||||
pos--; // skip escaped char
|
||||
}
|
||||
pos -= ofs;
|
||||
}
|
||||
}
|
||||
|
||||
// stop if empty word
|
||||
// if (len == pos) return;
|
||||
|
||||
// allocate new unescaped word prefix
|
||||
char* word = mem_strndup( cenv->env->mem, prefix + pos, (quote==0 ? len - pos : quote_len));
|
||||
if (word == NULL) return;
|
||||
|
||||
if (quote == 0) {
|
||||
// unescape prefix
|
||||
ssize_t wlen = len - pos;
|
||||
ssize_t wpos = 0;
|
||||
while (wpos < wlen) {
|
||||
ssize_t ofs = str_next_ofs(word, wlen, wpos, NULL);
|
||||
if (ofs <= 0) break;
|
||||
if (word[wpos] == escape_char && word[wpos+1] != 0 &&
|
||||
!(*is_word_char)(word + wpos + 1, (long)ofs)) // strchr(non_word_char, word[wpos+1]) != NULL) {
|
||||
{
|
||||
ic_memmove(word + wpos, word + wpos + 1, wlen - wpos /* including 0 */);
|
||||
}
|
||||
wpos += ofs;
|
||||
}
|
||||
}
|
||||
#ifdef _WIN32
|
||||
else {
|
||||
// remove inner quote: "c:\Program Files\"Win
|
||||
ssize_t wlen = len - pos;
|
||||
ssize_t wpos = 0;
|
||||
while (wpos < wlen) {
|
||||
ssize_t ofs = str_next_ofs(word, wlen, wpos, NULL);
|
||||
if (ofs <= 0) break;
|
||||
if (word[wpos] == escape_char && word[wpos+1] == quote) {
|
||||
word[wpos+1] = escape_char;
|
||||
ic_memmove(word + wpos, word + wpos + 1, wlen - wpos /* including 0 */);
|
||||
}
|
||||
wpos += ofs;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// set up the closure
|
||||
qword_closure_t wenv;
|
||||
wenv.quote = quote;
|
||||
wenv.is_word_char = is_word_char;
|
||||
wenv.escape_char = escape_char;
|
||||
wenv.delete_before_adjust = (long)(len - pos);
|
||||
wenv.prev_complete = cenv->complete;
|
||||
wenv.prev_env = cenv->env;
|
||||
wenv.sbuf = sbuf_new(cenv->env->mem);
|
||||
if (wenv.sbuf == NULL) { mem_free(cenv->env->mem, word); return; }
|
||||
cenv->complete = &qword_add_completion_ex;
|
||||
cenv->closure = &wenv;
|
||||
|
||||
// and call the user completion routine
|
||||
(*fun)( cenv, word );
|
||||
|
||||
// restore the original environment
|
||||
cenv->complete = wenv.prev_complete;
|
||||
cenv->closure = wenv.prev_env;
|
||||
|
||||
sbuf_free(wenv.sbuf);
|
||||
mem_free(cenv->env->mem, word);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Complete file names
|
||||
// Listing files
|
||||
//-------------------------------------------------------------
|
||||
#include <stdlib.h>
|
||||
|
||||
typedef enum file_type_e {
|
||||
// must follow BSD style LSCOLORS order
|
||||
FT_DEFAULT = 0,
|
||||
FT_DIR,
|
||||
FT_SYM,
|
||||
FT_SOCK,
|
||||
FT_PIPE,
|
||||
FT_BLOCK,
|
||||
FT_CHAR,
|
||||
FT_SETUID,
|
||||
FT_SETGID,
|
||||
FT_DIR_OW_STICKY,
|
||||
FT_DIR_OW,
|
||||
FT_DIR_STICKY,
|
||||
FT_EXE,
|
||||
FT_LAST
|
||||
} file_type_t;
|
||||
|
||||
static int cli_color; // 1 enabled, 0 not initialized, -1 disabled
|
||||
static const char* lscolors = "exfxcxdxbxegedabagacad"; // default BSD setting
|
||||
static const char* ls_colors;
|
||||
static const char* ls_colors_names[] = { "no=","di=","ln=","so=","pi=","bd=","cd=","su=","sg=","tw=","ow=","st=","ex=", NULL };
|
||||
|
||||
static bool ls_colors_init(void) {
|
||||
if (cli_color != 0) return (cli_color >= 1);
|
||||
// colors enabled?
|
||||
const char* s = getenv("CLICOLOR");
|
||||
if (s==NULL || (strcmp(s, "1")!=0 && strcmp(s, "") != 0)) {
|
||||
cli_color = -1;
|
||||
return false;
|
||||
}
|
||||
cli_color = 1;
|
||||
s = getenv("LS_COLORS");
|
||||
if (s != NULL) { ls_colors = s; }
|
||||
s = getenv("LSCOLORS");
|
||||
if (s != NULL) { lscolors = s; }
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool ls_valid_esc(ssize_t c) {
|
||||
return ((c==0 || c==1 || c==4 || c==7 || c==22 || c==24 || c==27) ||
|
||||
(c >= 30 && c <= 37) || (c >= 40 && c <= 47) ||
|
||||
(c >= 90 && c <= 97) || (c >= 100 && c <= 107));
|
||||
}
|
||||
|
||||
static bool ls_colors_from_key(stringbuf_t* sb, const char* key) {
|
||||
// find key
|
||||
ssize_t keylen = ic_strlen(key);
|
||||
if (keylen <= 0) return false;
|
||||
const char* p = strstr(ls_colors, key);
|
||||
if (p == NULL) return false;
|
||||
p += keylen;
|
||||
if (key[keylen-1] != '=') {
|
||||
if (*p != '=') return false;
|
||||
p++;
|
||||
}
|
||||
ssize_t len = 0;
|
||||
while (p[len] != 0 && p[len] != ':') {
|
||||
len++;
|
||||
}
|
||||
if (len <= 0) return false;
|
||||
sbuf_append(sb, "[ansi-sgr=\"" );
|
||||
sbuf_append_n(sb, p, len );
|
||||
sbuf_append(sb, "\"]");
|
||||
return true;
|
||||
}
|
||||
|
||||
static int ls_colors_from_char(char c) {
|
||||
if (c >= 'a' && c <= 'h') { return (c - 'a'); }
|
||||
else if (c >= 'A' && c <= 'H') { return (c - 'A') + 8; }
|
||||
else if (c == 'x') { return 256; }
|
||||
else return 256; // default
|
||||
}
|
||||
|
||||
static bool ls_colors_append(stringbuf_t* sb, file_type_t ft, const char* ext) {
|
||||
if (!ls_colors_init()) return false;
|
||||
if (ls_colors != NULL) {
|
||||
// GNU style
|
||||
if (ft == FT_DEFAULT && ext != NULL) {
|
||||
// first try extension match
|
||||
if (ls_colors_from_key(sb, ext)) return true;
|
||||
}
|
||||
if (ft >= FT_DEFAULT && ft < FT_LAST) {
|
||||
// then a filetype match
|
||||
const char* key = ls_colors_names[ft];
|
||||
if (ls_colors_from_key(sb, key)) return true;
|
||||
}
|
||||
}
|
||||
else if (lscolors != NULL) {
|
||||
// BSD style
|
||||
char fg = 'x';
|
||||
char bg = 'x';
|
||||
if (ic_strlen(lscolors) > (2*(ssize_t)ft)+1) {
|
||||
fg = lscolors[2*ft];
|
||||
bg = lscolors[2*ft + 1];
|
||||
}
|
||||
sbuf_appendf(sb, "[ansi-color=%d ansi-bgcolor=%d]", ls_colors_from_char(fg), ls_colors_from_char(bg) );
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static void ls_colorize(bool no_lscolor, stringbuf_t* sb, file_type_t ft, const char* name, const char* ext, char dirsep) {
|
||||
bool close = (no_lscolor ? false : ls_colors_append( sb, ft, ext));
|
||||
sbuf_append(sb, "[!pre]" );
|
||||
sbuf_append(sb, name);
|
||||
if (dirsep != 0) sbuf_append_char(sb, dirsep);
|
||||
sbuf_append(sb,"[/pre]" );
|
||||
if (close) { sbuf_append(sb, "[/]"); }
|
||||
}
|
||||
|
||||
#if defined(_WIN32)
|
||||
#include <io.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
static bool os_is_dir(const char* cpath) {
|
||||
struct _stat64 st = { 0 };
|
||||
_stat64(cpath, &st);
|
||||
return ((st.st_mode & _S_IFDIR) != 0);
|
||||
}
|
||||
|
||||
static file_type_t os_get_filetype(const char* cpath) {
|
||||
struct _stat64 st = { 0 };
|
||||
_stat64(cpath, &st);
|
||||
if (((st.st_mode) & _S_IFDIR) != 0) return FT_DIR;
|
||||
if (((st.st_mode) & _S_IFCHR) != 0) return FT_CHAR;
|
||||
if (((st.st_mode) & _S_IFIFO) != 0) return FT_PIPE;
|
||||
if (((st.st_mode) & _S_IEXEC) != 0) return FT_EXE;
|
||||
return FT_DEFAULT;
|
||||
}
|
||||
|
||||
|
||||
#define dir_cursor intptr_t
|
||||
#define dir_entry struct __finddata64_t
|
||||
|
||||
static bool os_findfirst(alloc_t* mem, const char* path, dir_cursor* d, dir_entry* entry) {
|
||||
stringbuf_t* spath = sbuf_new(mem);
|
||||
if (spath == NULL) return false;
|
||||
sbuf_append(spath, path);
|
||||
sbuf_append(spath, "\\*");
|
||||
*d = _findfirsti64(sbuf_string(spath), entry);
|
||||
mem_free(mem,spath);
|
||||
return (*d != -1);
|
||||
}
|
||||
|
||||
static bool os_findnext(dir_cursor d, dir_entry* entry) {
|
||||
return (_findnexti64(d, entry) == 0);
|
||||
}
|
||||
|
||||
static void os_findclose(dir_cursor d) {
|
||||
_findclose(d);
|
||||
}
|
||||
|
||||
static const char* os_direntry_name(dir_entry* entry) {
|
||||
return entry->name;
|
||||
}
|
||||
|
||||
static bool os_path_is_absolute( const char* path ) {
|
||||
if (path != NULL && path[0] != 0 && path[1] == ':' && (path[2] == '\\' || path[2] == '/' || path[2] == 0)) {
|
||||
char drive = path[0];
|
||||
return ((drive >= 'A' && drive <= 'Z') || (drive >= 'a' && drive <= 'z'));
|
||||
}
|
||||
else return false;
|
||||
}
|
||||
|
||||
ic_private char ic_dirsep(void) {
|
||||
return '\\';
|
||||
}
|
||||
#else
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <dirent.h>
|
||||
#include <errno.h>
|
||||
|
||||
static bool os_is_dir(const char* cpath) {
|
||||
struct stat st;
|
||||
memset(&st, 0, sizeof(st));
|
||||
stat(cpath, &st);
|
||||
return (S_ISDIR(st.st_mode));
|
||||
}
|
||||
|
||||
static file_type_t os_get_filetype(const char* cpath) {
|
||||
struct stat st;
|
||||
memset(&st, 0, sizeof(st));
|
||||
lstat(cpath, &st);
|
||||
switch ((st.st_mode)&S_IFMT) {
|
||||
case S_IFSOCK: return FT_SOCK;
|
||||
case S_IFLNK: {
|
||||
return FT_SYM;
|
||||
}
|
||||
case S_IFIFO: return FT_PIPE;
|
||||
case S_IFCHR: return FT_CHAR;
|
||||
case S_IFBLK: return FT_BLOCK;
|
||||
case S_IFDIR: {
|
||||
if ((st.st_mode & S_ISUID) != 0) return FT_SETUID;
|
||||
if ((st.st_mode & S_ISGID) != 0) return FT_SETGID;
|
||||
if ((st.st_mode & S_IWGRP) != 0 && (st.st_mode & S_ISVTX) != 0) return FT_DIR_OW_STICKY;
|
||||
if ((st.st_mode & S_IWGRP)) return FT_DIR_OW;
|
||||
if ((st.st_mode & S_ISVTX)) return FT_DIR_STICKY;
|
||||
return FT_DIR;
|
||||
}
|
||||
case S_IFREG:
|
||||
default: {
|
||||
if ((st.st_mode & S_IXUSR) != 0) return FT_EXE;
|
||||
return FT_DEFAULT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#define dir_cursor DIR*
|
||||
#define dir_entry struct dirent*
|
||||
|
||||
static bool os_findnext(dir_cursor d, dir_entry* entry) {
|
||||
*entry = readdir(d);
|
||||
return (*entry != NULL);
|
||||
}
|
||||
|
||||
static bool os_findfirst(alloc_t* mem, const char* cpath, dir_cursor* d, dir_entry* entry) {
|
||||
ic_unused(mem);
|
||||
*d = opendir(cpath);
|
||||
if (*d == NULL) {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
return os_findnext(*d, entry);
|
||||
}
|
||||
}
|
||||
|
||||
static void os_findclose(dir_cursor d) {
|
||||
closedir(d);
|
||||
}
|
||||
|
||||
static const char* os_direntry_name(dir_entry* entry) {
|
||||
return (*entry)->d_name;
|
||||
}
|
||||
|
||||
static bool os_path_is_absolute( const char* path ) {
|
||||
return (path != NULL && path[0] == '/');
|
||||
}
|
||||
|
||||
ic_private char ic_dirsep(void) {
|
||||
return '/';
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// File completion
|
||||
//-------------------------------------------------------------
|
||||
|
||||
static bool ends_with_n(const char* name, ssize_t name_len, const char* ending, ssize_t len) {
|
||||
if (name_len < len) return false;
|
||||
if (ending == NULL || len <= 0) return true;
|
||||
for (ssize_t i = 1; i <= len; i++) {
|
||||
char c1 = name[name_len - i];
|
||||
char c2 = ending[len - i];
|
||||
#ifdef _WIN32
|
||||
if (ic_tolower(c1) != ic_tolower(c2)) return false;
|
||||
#else
|
||||
if (c1 != c2) return false;
|
||||
#endif
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool match_extension(const char* name, const char* extensions) {
|
||||
if (extensions == NULL || extensions[0] == 0) return true;
|
||||
if (name == NULL) return false;
|
||||
ssize_t name_len = ic_strlen(name);
|
||||
ssize_t len = ic_strlen(extensions);
|
||||
ssize_t cur = 0;
|
||||
//debug_msg("match extensions: %s ~ %s", name, extensions);
|
||||
for (ssize_t end = 0; end <= len; end++) {
|
||||
if (extensions[end] == ';' || extensions[end] == 0) {
|
||||
if (ends_with_n(name, name_len, extensions+cur, (end - cur))) {
|
||||
return true;
|
||||
}
|
||||
cur = end+1;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool filename_complete_indir( ic_completion_env_t* cenv, stringbuf_t* dir,
|
||||
stringbuf_t* dir_prefix, stringbuf_t* display,
|
||||
const char* base_prefix,
|
||||
char dir_sep, const char* extensions )
|
||||
{
|
||||
dir_cursor d = 0;
|
||||
dir_entry entry;
|
||||
bool cont = true;
|
||||
if (os_findfirst(cenv->env->mem, sbuf_string(dir), &d, &entry)) {
|
||||
do {
|
||||
const char* name = os_direntry_name(&entry);
|
||||
if (name != NULL && strcmp(name, ".") != 0 && strcmp(name, "..") != 0 &&
|
||||
ic_istarts_with(name, base_prefix))
|
||||
{
|
||||
// possible match, first check if it is a directory
|
||||
file_type_t ft;
|
||||
bool isdir;
|
||||
const ssize_t plen = sbuf_len(dir_prefix);
|
||||
sbuf_append(dir_prefix, name);
|
||||
{ // check directory and potentially add a dirsep to the dir_prefix
|
||||
const ssize_t dlen = sbuf_len(dir);
|
||||
sbuf_append_char(dir,ic_dirsep());
|
||||
sbuf_append(dir,name);
|
||||
ft = os_get_filetype(sbuf_string(dir));
|
||||
isdir = os_is_dir(sbuf_string(dir));
|
||||
if (isdir && dir_sep != 0) {
|
||||
sbuf_append_char(dir_prefix,dir_sep);
|
||||
}
|
||||
sbuf_delete_from(dir,dlen); // restore dir
|
||||
}
|
||||
if (isdir || match_extension(name, extensions)) {
|
||||
// add completion
|
||||
sbuf_clear(display);
|
||||
ls_colorize(cenv->env->no_lscolors, display, ft, name, NULL, (isdir ? dir_sep : 0));
|
||||
cont = ic_add_completion_ex(cenv, sbuf_string(dir_prefix), sbuf_string(display), NULL);
|
||||
}
|
||||
sbuf_delete_from( dir_prefix, plen ); // restore dir_prefix
|
||||
}
|
||||
} while (cont && os_findnext(d, &entry));
|
||||
os_findclose(d);
|
||||
}
|
||||
return cont;
|
||||
}
|
||||
|
||||
typedef struct filename_closure_s {
|
||||
const char* roots;
|
||||
const char* extensions;
|
||||
char dir_sep;
|
||||
} filename_closure_t;
|
||||
|
||||
static void filename_completer( ic_completion_env_t* cenv, const char* prefix ) {
|
||||
if (prefix == NULL) return;
|
||||
filename_closure_t* fclosure = (filename_closure_t*)cenv->arg;
|
||||
stringbuf_t* root_dir = sbuf_new(cenv->env->mem);
|
||||
stringbuf_t* dir_prefix = sbuf_new(cenv->env->mem);
|
||||
stringbuf_t* display = sbuf_new(cenv->env->mem);
|
||||
if (root_dir!=NULL && dir_prefix != NULL && display != NULL)
|
||||
{
|
||||
// split prefix in dir_prefix / base.
|
||||
const char* base = strrchr(prefix,'/');
|
||||
#ifdef _WIN32
|
||||
const char* base2 = strrchr(prefix,'\\');
|
||||
if (base == NULL || base2 > base) base = base2;
|
||||
#endif
|
||||
if (base != NULL) {
|
||||
base++;
|
||||
sbuf_append_n(dir_prefix, prefix, base - prefix ); // includes dir separator
|
||||
}
|
||||
|
||||
// absolute path
|
||||
if (os_path_is_absolute(prefix)) {
|
||||
// do not use roots but try to complete directly
|
||||
if (base != NULL) {
|
||||
sbuf_append_n( root_dir, prefix, (base - prefix)); // include dir separator
|
||||
}
|
||||
filename_complete_indir( cenv, root_dir, dir_prefix, display,
|
||||
(base != NULL ? base : prefix),
|
||||
fclosure->dir_sep, fclosure->extensions );
|
||||
}
|
||||
else {
|
||||
// relative path, complete with respect to every root.
|
||||
const char* next;
|
||||
const char* root = fclosure->roots;
|
||||
while ( root != NULL ) {
|
||||
// create full root in `root_dir`
|
||||
sbuf_clear(root_dir);
|
||||
next = strchr(root,';');
|
||||
if (next == NULL) {
|
||||
sbuf_append( root_dir, root );
|
||||
root = NULL;
|
||||
}
|
||||
else {
|
||||
sbuf_append_n( root_dir, root, next - root );
|
||||
root = next + 1;
|
||||
}
|
||||
sbuf_append_char( root_dir, ic_dirsep());
|
||||
|
||||
// add the dir_prefix to the root
|
||||
if (base != NULL) {
|
||||
sbuf_append_n( root_dir, prefix, (base - prefix) - 1);
|
||||
}
|
||||
|
||||
// and complete in this directory
|
||||
filename_complete_indir( cenv, root_dir, dir_prefix, display,
|
||||
(base != NULL ? base : prefix),
|
||||
fclosure->dir_sep, fclosure->extensions);
|
||||
}
|
||||
}
|
||||
}
|
||||
sbuf_free(display);
|
||||
sbuf_free(root_dir);
|
||||
sbuf_free(dir_prefix);
|
||||
}
|
||||
|
||||
ic_public void ic_complete_filename( ic_completion_env_t* cenv, const char* prefix, char dir_sep, const char* roots, const char* extensions ) {
|
||||
if (roots == NULL) roots = ".";
|
||||
if (extensions == NULL) extensions = "";
|
||||
if (dir_sep == 0) dir_sep = ic_dirsep();
|
||||
filename_closure_t fclosure;
|
||||
fclosure.dir_sep = dir_sep;
|
||||
fclosure.roots = roots;
|
||||
fclosure.extensions = extensions;
|
||||
cenv->arg = &fclosure;
|
||||
ic_complete_qword_ex( cenv, prefix, &filename_completer, &ic_char_is_filename_letter, '\\', "'\"");
|
||||
}
|
326
bin/isocline/src/completions.c
Normal file
326
bin/isocline/src/completions.c
Normal file
@ -0,0 +1,326 @@
|
||||
/* ----------------------------------------------------------------------------
|
||||
Copyright (c) 2021, Daan Leijen
|
||||
This is free software; you can redistribute it and/or modify it
|
||||
under the terms of the MIT License. A copy of the license can be
|
||||
found in the "LICENSE" file at the root of this distribution.
|
||||
-----------------------------------------------------------------------------*/
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "../include/isocline.h"
|
||||
#include "common.h"
|
||||
#include "env.h"
|
||||
#include "stringbuf.h"
|
||||
#include "completions.h"
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Completions
|
||||
//-------------------------------------------------------------
|
||||
|
||||
typedef struct completion_s {
|
||||
const char* replacement;
|
||||
const char* display;
|
||||
const char* help;
|
||||
ssize_t delete_before;
|
||||
ssize_t delete_after;
|
||||
} completion_t;
|
||||
|
||||
struct completions_s {
|
||||
ic_completer_fun_t* completer;
|
||||
void* completer_arg;
|
||||
ssize_t completer_max;
|
||||
ssize_t count;
|
||||
ssize_t len;
|
||||
completion_t* elems;
|
||||
alloc_t* mem;
|
||||
};
|
||||
|
||||
static void default_filename_completer( ic_completion_env_t* cenv, const char* prefix );
|
||||
|
||||
ic_private completions_t* completions_new(alloc_t* mem) {
|
||||
completions_t* cms = mem_zalloc_tp(mem, completions_t);
|
||||
if (cms == NULL) return NULL;
|
||||
cms->mem = mem;
|
||||
cms->completer = &default_filename_completer;
|
||||
return cms;
|
||||
}
|
||||
|
||||
ic_private void completions_free(completions_t* cms) {
|
||||
if (cms == NULL) return;
|
||||
completions_clear(cms);
|
||||
if (cms->elems != NULL) {
|
||||
mem_free(cms->mem, cms->elems);
|
||||
cms->elems = NULL;
|
||||
cms->count = 0;
|
||||
cms->len = 0;
|
||||
}
|
||||
mem_free(cms->mem, cms); // free ourselves
|
||||
}
|
||||
|
||||
|
||||
ic_private void completions_clear(completions_t* cms) {
|
||||
while (cms->count > 0) {
|
||||
completion_t* cm = cms->elems + cms->count - 1;
|
||||
mem_free( cms->mem, cm->display);
|
||||
mem_free( cms->mem, cm->replacement);
|
||||
mem_free( cms->mem, cm->help);
|
||||
memset(cm,0,sizeof(*cm));
|
||||
cms->count--;
|
||||
}
|
||||
}
|
||||
|
||||
static void completions_push(completions_t* cms, const char* replacement, const char* display, const char* help, ssize_t delete_before, ssize_t delete_after)
|
||||
{
|
||||
if (cms->count >= cms->len) {
|
||||
ssize_t newlen = (cms->len <= 0 ? 32 : cms->len*2);
|
||||
completion_t* newelems = mem_realloc_tp(cms->mem, completion_t, cms->elems, newlen );
|
||||
if (newelems == NULL) return;
|
||||
cms->elems = newelems;
|
||||
cms->len = newlen;
|
||||
}
|
||||
assert(cms->count < cms->len);
|
||||
completion_t* cm = cms->elems + cms->count;
|
||||
cm->replacement = mem_strdup(cms->mem,replacement);
|
||||
cm->display = mem_strdup(cms->mem,display);
|
||||
cm->help = mem_strdup(cms->mem,help);
|
||||
cm->delete_before = delete_before;
|
||||
cm->delete_after = delete_after;
|
||||
cms->count++;
|
||||
}
|
||||
|
||||
ic_private ssize_t completions_count(completions_t* cms) {
|
||||
return cms->count;
|
||||
}
|
||||
|
||||
static bool completions_contains(completions_t* cms, const char* replacement) {
|
||||
for( ssize_t i = 0; i < cms->count; i++ ) {
|
||||
const completion_t* c = cms->elems + i;
|
||||
if (strcmp(replacement,c->replacement) == 0) { return true; }
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
ic_private bool completions_add(completions_t* cms, const char* replacement, const char* display, const char* help, ssize_t delete_before, ssize_t delete_after) {
|
||||
if (cms->completer_max <= 0) return false;
|
||||
cms->completer_max--;
|
||||
//debug_msg("completion: add: %d,%d, %s\n", delete_before, delete_after, replacement);
|
||||
if (!completions_contains(cms,replacement)) {
|
||||
completions_push(cms, replacement, display, help, delete_before, delete_after);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
static completion_t* completions_get(completions_t* cms, ssize_t index) {
|
||||
if (index < 0 || cms->count <= 0 || index >= cms->count) return NULL;
|
||||
return &cms->elems[index];
|
||||
}
|
||||
|
||||
ic_private const char* completions_get_display( completions_t* cms, ssize_t index, const char** help ) {
|
||||
if (help != NULL) { *help = NULL; }
|
||||
completion_t* cm = completions_get(cms, index);
|
||||
if (cm == NULL) return NULL;
|
||||
if (help != NULL) { *help = cm->help; }
|
||||
return (cm->display != NULL ? cm->display : cm->replacement);
|
||||
}
|
||||
|
||||
ic_private const char* completions_get_help( completions_t* cms, ssize_t index ) {
|
||||
completion_t* cm = completions_get(cms, index);
|
||||
if (cm == NULL) return NULL;
|
||||
return cm->help;
|
||||
}
|
||||
|
||||
ic_private const char* completions_get_hint(completions_t* cms, ssize_t index, const char** help) {
|
||||
if (help != NULL) { *help = NULL; }
|
||||
completion_t* cm = completions_get(cms, index);
|
||||
if (cm == NULL) return NULL;
|
||||
ssize_t len = ic_strlen(cm->replacement);
|
||||
if (len < cm->delete_before) return NULL;
|
||||
const char* hint = (cm->replacement + cm->delete_before);
|
||||
if (*hint == 0 || utf8_is_cont((uint8_t)(*hint))) return NULL; // utf8 boundary?
|
||||
if (help != NULL) { *help = cm->help; }
|
||||
return hint;
|
||||
}
|
||||
|
||||
ic_private void completions_set_completer(completions_t* cms, ic_completer_fun_t* completer, void* arg) {
|
||||
cms->completer = completer;
|
||||
cms->completer_arg = arg;
|
||||
}
|
||||
|
||||
ic_private void completions_get_completer(completions_t* cms, ic_completer_fun_t** completer, void** arg) {
|
||||
*completer = cms->completer;
|
||||
*arg = cms->completer_arg;
|
||||
}
|
||||
|
||||
|
||||
ic_public void* ic_completion_arg( const ic_completion_env_t* cenv ) {
|
||||
return (cenv == NULL ? NULL : cenv->env->completions->completer_arg);
|
||||
}
|
||||
|
||||
ic_public bool ic_has_completions( const ic_completion_env_t* cenv ) {
|
||||
return (cenv == NULL ? false : cenv->env->completions->count > 0);
|
||||
}
|
||||
|
||||
ic_public bool ic_stop_completing( const ic_completion_env_t* cenv) {
|
||||
return (cenv == NULL ? true : cenv->env->completions->completer_max <= 0);
|
||||
}
|
||||
|
||||
|
||||
static ssize_t completion_apply( completion_t* cm, stringbuf_t* sbuf, ssize_t pos ) {
|
||||
if (cm == NULL) return -1;
|
||||
debug_msg( "completion: apply: %s at %zd\n", cm->replacement, pos);
|
||||
ssize_t start = pos - cm->delete_before;
|
||||
if (start < 0) start = 0;
|
||||
ssize_t n = cm->delete_before + cm->delete_after;
|
||||
if (ic_strlen(cm->replacement) == n && strncmp(sbuf_string_at(sbuf,start), cm->replacement, to_size_t(n)) == 0) {
|
||||
// no changes
|
||||
return -1;
|
||||
}
|
||||
else {
|
||||
sbuf_delete_from_to( sbuf, start, pos + cm->delete_after );
|
||||
return sbuf_insert_at(sbuf, cm->replacement, start);
|
||||
}
|
||||
}
|
||||
|
||||
ic_private ssize_t completions_apply( completions_t* cms, ssize_t index, stringbuf_t* sbuf, ssize_t pos ) {
|
||||
completion_t* cm = completions_get(cms, index);
|
||||
return completion_apply( cm, sbuf, pos );
|
||||
}
|
||||
|
||||
|
||||
static int completion_compare(const void* p1, const void* p2) {
|
||||
if (p1 == NULL || p2 == NULL) return 0;
|
||||
const completion_t* cm1 = (const completion_t*)p1;
|
||||
const completion_t* cm2 = (const completion_t*)p2;
|
||||
return ic_stricmp(cm1->replacement, cm2->replacement);
|
||||
}
|
||||
|
||||
ic_private void completions_sort(completions_t* cms) {
|
||||
if (cms->count <= 0) return;
|
||||
qsort(cms->elems, to_size_t(cms->count), sizeof(cms->elems[0]), &completion_compare);
|
||||
}
|
||||
|
||||
#define IC_MAX_PREFIX (256)
|
||||
|
||||
// find longest common prefix and complete with that.
|
||||
ic_private ssize_t completions_apply_longest_prefix(completions_t* cms, stringbuf_t* sbuf, ssize_t pos) {
|
||||
if (cms->count <= 1) {
|
||||
return completions_apply(cms,0,sbuf,pos);
|
||||
}
|
||||
|
||||
// set initial prefix to the first entry
|
||||
completion_t* cm = completions_get(cms, 0);
|
||||
if (cm == NULL) return -1;
|
||||
|
||||
char prefix[IC_MAX_PREFIX+1];
|
||||
ssize_t delete_before = cm->delete_before;
|
||||
ic_strncpy( prefix, IC_MAX_PREFIX+1, cm->replacement, IC_MAX_PREFIX );
|
||||
prefix[IC_MAX_PREFIX] = 0;
|
||||
|
||||
// and visit all others to find the longest common prefix
|
||||
for(ssize_t i = 1; i < cms->count; i++) {
|
||||
cm = completions_get(cms,i);
|
||||
if (cm->delete_before != delete_before) { // deletions must match delete_before
|
||||
prefix[0] = 0;
|
||||
break;
|
||||
}
|
||||
// check if it is still a prefix
|
||||
const char* r = cm->replacement;
|
||||
ssize_t j;
|
||||
for(j = 0; prefix[j] != 0 && r[j] != 0; j++) {
|
||||
if (prefix[j] != r[j]) break;
|
||||
}
|
||||
prefix[j] = 0;
|
||||
if (j <= 0) break;
|
||||
}
|
||||
|
||||
// check the length
|
||||
ssize_t len = ic_strlen(prefix);
|
||||
if (len <= 0 || len < delete_before) return -1;
|
||||
|
||||
// we found a prefix :-)
|
||||
completion_t cprefix;
|
||||
memset(&cprefix,0,sizeof(cprefix));
|
||||
cprefix.delete_before = delete_before;
|
||||
cprefix.replacement = prefix;
|
||||
ssize_t newpos = completion_apply( &cprefix, sbuf, pos);
|
||||
if (newpos < 0) return newpos;
|
||||
|
||||
// adjust all delete_before for the new replacement
|
||||
for( ssize_t i = 0; i < cms->count; i++) {
|
||||
cm = completions_get(cms,i);
|
||||
cm->delete_before = len;
|
||||
}
|
||||
|
||||
return newpos;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Completer functions
|
||||
//-------------------------------------------------------------
|
||||
|
||||
ic_public bool ic_add_completions(ic_completion_env_t* cenv, const char* prefix, const char** completions) {
|
||||
for (const char** pc = completions; *pc != NULL; pc++) {
|
||||
if (ic_istarts_with(*pc, prefix)) {
|
||||
if (!ic_add_completion_ex(cenv, *pc, NULL, NULL)) return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
ic_public bool ic_add_completion(ic_completion_env_t* cenv, const char* replacement) {
|
||||
return ic_add_completion_ex(cenv, replacement, NULL, NULL);
|
||||
}
|
||||
|
||||
ic_public bool ic_add_completion_ex( ic_completion_env_t* cenv, const char* replacement, const char* display, const char* help ) {
|
||||
return ic_add_completion_prim(cenv,replacement,display,help,0,0);
|
||||
}
|
||||
|
||||
ic_public bool ic_add_completion_prim(ic_completion_env_t* cenv, const char* replacement, const char* display, const char* help, long delete_before, long delete_after) {
|
||||
return (*cenv->complete)(cenv->env, cenv->closure, replacement, display, help, delete_before, delete_after );
|
||||
}
|
||||
|
||||
static bool prim_add_completion(ic_env_t* env, void* funenv, const char* replacement, const char* display, const char* help, long delete_before, long delete_after) {
|
||||
ic_unused(funenv);
|
||||
return completions_add(env->completions, replacement, display, help, delete_before, delete_after);
|
||||
}
|
||||
|
||||
ic_public void ic_set_default_completer(ic_completer_fun_t* completer, void* arg) {
|
||||
ic_env_t* env = ic_get_env(); if (env == NULL) return;
|
||||
completions_set_completer(env->completions, completer, arg);
|
||||
}
|
||||
|
||||
ic_private ssize_t completions_generate(struct ic_env_s* env, completions_t* cms, const char* input, ssize_t pos, ssize_t max) {
|
||||
completions_clear(cms);
|
||||
if (cms->completer == NULL || input == NULL || ic_strlen(input) < pos) return 0;
|
||||
|
||||
// set up env
|
||||
ic_completion_env_t cenv;
|
||||
cenv.env = env;
|
||||
cenv.input = input,
|
||||
cenv.cursor = (long)pos;
|
||||
cenv.arg = cms->completer_arg;
|
||||
cenv.complete = &prim_add_completion;
|
||||
cenv.closure = NULL;
|
||||
const char* prefix = mem_strndup(cms->mem, input, pos);
|
||||
cms->completer_max = max;
|
||||
|
||||
// and complete
|
||||
cms->completer(&cenv,prefix);
|
||||
|
||||
// restore
|
||||
mem_free(cms->mem,prefix);
|
||||
return completions_count(cms);
|
||||
}
|
||||
|
||||
// The default completer is no completion is set
|
||||
static void default_filename_completer( ic_completion_env_t* cenv, const char* prefix ) {
|
||||
#ifdef _WIN32
|
||||
const char sep = '\\';
|
||||
#else
|
||||
const char sep = '/';
|
||||
#endif
|
||||
ic_complete_filename( cenv, prefix, sep, ".", NULL);
|
||||
}
|
52
bin/isocline/src/completions.h
Normal file
52
bin/isocline/src/completions.h
Normal file
@ -0,0 +1,52 @@
|
||||
/* ----------------------------------------------------------------------------
|
||||
Copyright (c) 2021, Daan Leijen
|
||||
This is free software; you can redistribute it and/or modify it
|
||||
under the terms of the MIT License. A copy of the license can be
|
||||
found in the "LICENSE" file at the root of this distribution.
|
||||
-----------------------------------------------------------------------------*/
|
||||
#pragma once
|
||||
#ifndef IC_COMPLETIONS_H
|
||||
#define IC_COMPLETIONS_H
|
||||
|
||||
#include "common.h"
|
||||
#include "stringbuf.h"
|
||||
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Completions
|
||||
//-------------------------------------------------------------
|
||||
#define IC_MAX_COMPLETIONS_TO_SHOW (1000)
|
||||
#define IC_MAX_COMPLETIONS_TO_TRY (IC_MAX_COMPLETIONS_TO_SHOW/4)
|
||||
|
||||
typedef struct completions_s completions_t;
|
||||
|
||||
ic_private completions_t* completions_new(alloc_t* mem);
|
||||
ic_private void completions_free(completions_t* cms);
|
||||
ic_private void completions_clear(completions_t* cms);
|
||||
ic_private bool completions_add(completions_t* cms , const char* replacement, const char* display, const char* help, ssize_t delete_before, ssize_t delete_after);
|
||||
ic_private ssize_t completions_count(completions_t* cms);
|
||||
ic_private ssize_t completions_generate(struct ic_env_s* env, completions_t* cms , const char* input, ssize_t pos, ssize_t max);
|
||||
ic_private void completions_sort(completions_t* cms);
|
||||
ic_private void completions_set_completer(completions_t* cms, ic_completer_fun_t* completer, void* arg);
|
||||
ic_private const char* completions_get_display(completions_t* cms , ssize_t index, const char** help);
|
||||
ic_private const char* completions_get_hint(completions_t* cms, ssize_t index, const char** help);
|
||||
ic_private void completions_get_completer(completions_t* cms, ic_completer_fun_t** completer, void** arg);
|
||||
|
||||
ic_private ssize_t completions_apply(completions_t* cms, ssize_t index, stringbuf_t* sbuf, ssize_t pos);
|
||||
ic_private ssize_t completions_apply_longest_prefix(completions_t* cms, stringbuf_t* sbuf, ssize_t pos);
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Completion environment
|
||||
//-------------------------------------------------------------
|
||||
typedef bool (ic_completion_fun_t)( ic_env_t* env, void* funenv, const char* replacement, const char* display, const char* help, long delete_before, long delete_after );
|
||||
|
||||
struct ic_completion_env_s {
|
||||
ic_env_t* env; // the isocline environment
|
||||
const char* input; // current full input
|
||||
long cursor; // current cursor position
|
||||
void* arg; // argument given to `ic_set_completer`
|
||||
void* closure; // free variables for function composition
|
||||
ic_completion_fun_t* complete; // function that adds a completion
|
||||
};
|
||||
|
||||
#endif // IC_COMPLETIONS_H
|
1142
bin/isocline/src/editline.c
Normal file
1142
bin/isocline/src/editline.c
Normal file
File diff suppressed because it is too large
Load Diff
277
bin/isocline/src/editline_completion.c
Normal file
277
bin/isocline/src/editline_completion.c
Normal file
@ -0,0 +1,277 @@
|
||||
/* ----------------------------------------------------------------------------
|
||||
Copyright (c) 2021, Daan Leijen
|
||||
This is free software; you can redistribute it and/or modify it
|
||||
under the terms of the MIT License. A copy of the license can be
|
||||
found in the "LICENSE" file at the root of this distribution.
|
||||
-----------------------------------------------------------------------------*/
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// Completion menu: this file is included in editline.c
|
||||
//-------------------------------------------------------------
|
||||
|
||||
// return true if anything changed
|
||||
static bool edit_complete(ic_env_t* env, editor_t* eb, ssize_t idx) {
|
||||
editor_start_modify(eb);
|
||||
ssize_t newpos = completions_apply(env->completions, idx, eb->input, eb->pos);
|
||||
if (newpos < 0) {
|
||||
editor_undo_restore(eb,false);
|
||||
return false;
|
||||
}
|
||||
eb->pos = newpos;
|
||||
edit_refresh(env,eb);
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool edit_complete_longest_prefix(ic_env_t* env, editor_t* eb ) {
|
||||
editor_start_modify(eb);
|
||||
ssize_t newpos = completions_apply_longest_prefix( env->completions, eb->input, eb->pos );
|
||||
if (newpos < 0) {
|
||||
editor_undo_restore(eb,false);
|
||||
return false;
|
||||
}
|
||||
eb->pos = newpos;
|
||||
edit_refresh(env,eb);
|
||||
return true;
|
||||
}
|
||||
|
||||
ic_private void sbuf_append_tagged( stringbuf_t* sb, const char* tag, const char* content ) {
|
||||
sbuf_appendf(sb, "[%s]", tag);
|
||||
sbuf_append(sb,content);
|
||||
sbuf_append(sb,"[/]");
|
||||
}
|
||||
|
||||
static void editor_append_completion(ic_env_t* env, editor_t* eb, ssize_t idx, ssize_t width, bool numbered, bool selected ) {
|
||||
const char* help = NULL;
|
||||
const char* display = completions_get_display(env->completions, idx, &help);
|
||||
if (display == NULL) return;
|
||||
if (numbered) {
|
||||
sbuf_appendf(eb->extra, "[ic-info]%s%zd [/]", (selected ? (tty_is_utf8(env->tty) ? "\xE2\x86\x92" : "*") : " "), 1 + idx);
|
||||
width -= 3;
|
||||
}
|
||||
|
||||
if (width > 0) {
|
||||
sbuf_appendf(eb->extra, "[width=\"%zd;left; ;on\"]", width );
|
||||
}
|
||||
if (selected) {
|
||||
sbuf_append(eb->extra, "[ic-emphasis]");
|
||||
}
|
||||
sbuf_append(eb->extra, display);
|
||||
if (selected) { sbuf_append(eb->extra,"[/ic-emphasis]"); }
|
||||
if (help != NULL) {
|
||||
sbuf_append(eb->extra, " ");
|
||||
sbuf_append_tagged(eb->extra, "ic-info", help );
|
||||
}
|
||||
if (width > 0) { sbuf_append(eb->extra,"[/width]"); }
|
||||
}
|
||||
|
||||
// 2 and 3 column output up to 80 wide
|
||||
#define IC_DISPLAY2_MAX 34
|
||||
#define IC_DISPLAY2_COL (3+IC_DISPLAY2_MAX)
|
||||
#define IC_DISPLAY2_WIDTH (2*IC_DISPLAY2_COL + 2) // 75
|
||||
|
||||
#define IC_DISPLAY3_MAX 21
|
||||
#define IC_DISPLAY3_COL (3+IC_DISPLAY3_MAX)
|
||||
#define IC_DISPLAY3_WIDTH (3*IC_DISPLAY3_COL + 2*2) // 76
|
||||
|
||||
static void editor_append_completion2(ic_env_t* env, editor_t* eb, ssize_t col_width, ssize_t idx1, ssize_t idx2, ssize_t selected ) {
|
||||
editor_append_completion(env, eb, idx1, col_width, true, (idx1 == selected) );
|
||||
sbuf_append( eb->extra, " ");
|
||||
editor_append_completion(env, eb, idx2, col_width, true, (idx2 == selected) );
|
||||
}
|
||||
|
||||
static void editor_append_completion3(ic_env_t* env, editor_t* eb, ssize_t col_width, ssize_t idx1, ssize_t idx2, ssize_t idx3, ssize_t selected ) {
|
||||
editor_append_completion(env, eb, idx1, col_width, true, (idx1 == selected) );
|
||||
sbuf_append( eb->extra, " ");
|
||||
editor_append_completion(env, eb, idx2, col_width, true, (idx2 == selected));
|
||||
sbuf_append( eb->extra, " ");
|
||||
editor_append_completion(env, eb, idx3, col_width, true, (idx3 == selected) );
|
||||
}
|
||||
|
||||
static ssize_t edit_completions_max_width( ic_env_t* env, ssize_t count ) {
|
||||
ssize_t max_width = 0;
|
||||
for( ssize_t i = 0; i < count; i++) {
|
||||
const char* help = NULL;
|
||||
ssize_t w = bbcode_column_width(env->bbcode, completions_get_display(env->completions, i, &help));
|
||||
if (help != NULL) {
|
||||
w += 2 + bbcode_column_width(env->bbcode, help);
|
||||
}
|
||||
if (w > max_width) {
|
||||
max_width = w;
|
||||
}
|
||||
}
|
||||
return max_width;
|
||||
}
|
||||
|
||||
static void edit_completion_menu(ic_env_t* env, editor_t* eb, bool more_available) {
|
||||
ssize_t count = completions_count(env->completions);
|
||||
ssize_t count_displayed = count;
|
||||
assert(count > 1);
|
||||
ssize_t selected = (env->complete_nopreview ? 0 : -1); // select first or none
|
||||
ssize_t percolumn = count;
|
||||
|
||||
again:
|
||||
// show first 9 (or 8) completions
|
||||
sbuf_clear(eb->extra);
|
||||
ssize_t twidth = term_get_width(env->term) - 1;
|
||||
ssize_t colwidth;
|
||||
if (count > 3 && ((colwidth = 3 + edit_completions_max_width(env, 9))*3 + 2*2) < twidth) {
|
||||
// display as a 3 column block
|
||||
count_displayed = (count > 9 ? 9 : count);
|
||||
percolumn = 3;
|
||||
for (ssize_t rw = 0; rw < percolumn; rw++) {
|
||||
if (rw > 0) sbuf_append(eb->extra, "\n");
|
||||
editor_append_completion3(env, eb, colwidth, rw, percolumn+rw, (2*percolumn)+rw, selected);
|
||||
}
|
||||
}
|
||||
else if (count > 4 && ((colwidth = 3 + edit_completions_max_width(env, 8))*2 + 2) < twidth) {
|
||||
// display as a 2 column block if some entries are too wide for three columns
|
||||
count_displayed = (count > 8 ? 8 : count);
|
||||
percolumn = (count_displayed <= 6 ? 3 : 4);
|
||||
for (ssize_t rw = 0; rw < percolumn; rw++) {
|
||||
if (rw > 0) sbuf_append(eb->extra, "\n");
|
||||
editor_append_completion2(env, eb, colwidth, rw, percolumn+rw, selected);
|
||||
}
|
||||
}
|
||||
else {
|
||||
// display as a list
|
||||
count_displayed = (count > 9 ? 9 : count);
|
||||
percolumn = count_displayed;
|
||||
for (ssize_t i = 0; i < count_displayed; i++) {
|
||||
if (i > 0) sbuf_append(eb->extra, "\n");
|
||||
editor_append_completion(env, eb, i, -1, true /* numbered */, selected == i);
|
||||
}
|
||||
}
|
||||
if (count > count_displayed) {
|
||||
if (more_available) {
|
||||
sbuf_append(eb->extra, "\n[ic-info](press page-down (or ctrl-j) to see all further completions)[/]");
|
||||
}
|
||||
else {
|
||||
sbuf_appendf(eb->extra, "\n[ic-info](press page-down (or ctrl-j) to see all %zd completions)[/]", count );
|
||||
}
|
||||
}
|
||||
if (!env->complete_nopreview && selected >= 0 && selected <= count_displayed) {
|
||||
edit_complete(env,eb,selected);
|
||||
editor_undo_restore(eb,false);
|
||||
}
|
||||
else {
|
||||
edit_refresh(env, eb);
|
||||
}
|
||||
|
||||
// read here; if not a valid key, push it back and return to main event loop
|
||||
code_t c = tty_read(env->tty);
|
||||
if (tty_term_resize_event(env->tty)) {
|
||||
edit_resize(env, eb);
|
||||
}
|
||||
sbuf_clear(eb->extra);
|
||||
|
||||
// direct selection?
|
||||
if (c >= '1' && c <= '9') {
|
||||
ssize_t i = (c - '1');
|
||||
if (i < count) {
|
||||
selected = i;
|
||||
c = KEY_ENTER;
|
||||
}
|
||||
}
|
||||
|
||||
// process commands
|
||||
if (c == KEY_DOWN || c == KEY_TAB) {
|
||||
selected++;
|
||||
if (selected >= count_displayed) {
|
||||
//term_beep(env->term);
|
||||
selected = 0;
|
||||
}
|
||||
goto again;
|
||||
}
|
||||
else if (c == KEY_UP || c == KEY_SHIFT_TAB) {
|
||||
selected--;
|
||||
if (selected < 0) {
|
||||
selected = count_displayed - 1;
|
||||
//term_beep(env->term);
|
||||
}
|
||||
goto again;
|
||||
}
|
||||
else if (c == KEY_F1) {
|
||||
edit_show_help(env, eb);
|
||||
goto again;
|
||||
}
|
||||
else if (c == KEY_ESC) {
|
||||
completions_clear(env->completions);
|
||||
edit_refresh(env,eb);
|
||||
c = 0; // ignore and return
|
||||
}
|
||||
else if (selected >= 0 && (c == KEY_ENTER || c == KEY_RIGHT || c == KEY_END)) /* || c == KEY_TAB*/ {
|
||||
// select the current entry
|
||||
assert(selected < count);
|
||||
c = 0;
|
||||
edit_complete(env, eb, selected);
|
||||
if (env->complete_autotab) {
|
||||
tty_code_pushback(env->tty,KEY_EVENT_AUTOTAB); // immediately try to complete again
|
||||
}
|
||||
}
|
||||
else if (!env->complete_nopreview && !code_is_virt_key(c)) {
|
||||
// if in preview mode, select the current entry and exit the menu
|
||||
assert(selected < count);
|
||||
edit_complete(env, eb, selected);
|
||||
}
|
||||
else if ((c == KEY_PAGEDOWN || c == KEY_LINEFEED) && count > 9) {
|
||||
// show all completions
|
||||
c = 0;
|
||||
if (more_available) {
|
||||
// generate all entries (up to the max (= 1000))
|
||||
count = completions_generate(env, env->completions, sbuf_string(eb->input), eb->pos, IC_MAX_COMPLETIONS_TO_SHOW);
|
||||
}
|
||||
rowcol_t rc;
|
||||
edit_get_rowcol(env,eb,&rc);
|
||||
edit_clear(env,eb);
|
||||
edit_write_prompt(env,eb,0,false);
|
||||
term_writeln(env->term, "");
|
||||
for(ssize_t i = 0; i < count; i++) {
|
||||
const char* display = completions_get_display(env->completions, i, NULL);
|
||||
if (display != NULL) {
|
||||
bbcode_println(env->bbcode, display);
|
||||
}
|
||||
}
|
||||
if (count >= IC_MAX_COMPLETIONS_TO_SHOW) {
|
||||
bbcode_println(env->bbcode, "[ic-info]... and more.[/]");
|
||||
}
|
||||
else {
|
||||
bbcode_printf(env->bbcode, "[ic-info](%zd possible completions)[/]\n", count );
|
||||
}
|
||||
for(ssize_t i = 0; i < rc.row+1; i++) {
|
||||
term_write(env->term, " \n");
|
||||
}
|
||||
eb->cur_rows = 0;
|
||||
edit_refresh(env,eb);
|
||||
}
|
||||
else {
|
||||
edit_refresh(env,eb);
|
||||
}
|
||||
// done
|
||||
completions_clear(env->completions);
|
||||
if (c != 0) tty_code_pushback(env->tty,c);
|
||||
}
|
||||
|
||||
static void edit_generate_completions(ic_env_t* env, editor_t* eb, bool autotab) {
|
||||
debug_msg( "edit: complete: %zd: %s\n", eb->pos, sbuf_string(eb->input) );
|
||||
if (eb->pos < 0) return;
|
||||
ssize_t count = completions_generate(env, env->completions, sbuf_string(eb->input), eb->pos, IC_MAX_COMPLETIONS_TO_TRY);
|
||||
bool more_available = (count >= IC_MAX_COMPLETIONS_TO_TRY);
|
||||
if (count <= 0) {
|
||||
// no completions
|
||||
if (!autotab) { term_beep(env->term); }
|
||||
}
|
||||
else if (count == 1) {
|
||||
// complete if only one match
|
||||
if (edit_complete(env,eb,0 /*idx*/) && env->complete_autotab) {
|
||||
tty_code_pushback(env->tty,KEY_EVENT_AUTOTAB);
|
||||
}
|
||||
}
|
||||
else {
|
||||
//term_beep(env->term);
|
||||
if (!more_available) {
|
||||
edit_complete_longest_prefix(env,eb);
|
||||
}
|
||||
completions_sort(env->completions);
|
||||
edit_completion_menu( env, eb, more_available);
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user