implemented static linking of awk modules
This commit is contained in:
		| @ -7,7 +7,7 @@ AM_CPPFLAGS = \ | ||||
|  | ||||
| if WIN32 | ||||
| # you must adjust the value of DEFAULT_MODPOSTFIX according to | ||||
| # -version-info in ../../mod/awk/Makefile.am | ||||
| # -version-info in ../../lib/awk/Makefile.am | ||||
| AM_CPPFLAGS += -DDEFAULT_MODPREFIX=\"libqseawk-\" -DDEFAULT_MODPOSTFIX=\"-1\" | ||||
| else | ||||
| AM_CPPFLAGS += -DDEFAULT_MODPREFIX=\"$(libdir)/libqseawk-\" -DDEFAULT_MODPOSTFIX=\"\" | ||||
| @ -19,7 +19,7 @@ bin_PROGRAMS = qseawk | ||||
|  | ||||
| qseawk_SOURCES = awk.c | ||||
| qseawk_LDFLAGS = -L../../lib/awk -L../../lib/cmn -L$(libdir) | ||||
| qseawk_LDADD = -lqseawk -lqsecmn $(LIBM) $(LIBLTDL) | ||||
| qseawk_LDADD = -lqseawk -lqsecmn $(LIBM) $(LIBLTDL)  | ||||
|  | ||||
| if WIN32 | ||||
| if WCHAR | ||||
|  | ||||
| @ -36,7 +36,7 @@ build_triplet = @build@ | ||||
| host_triplet = @host@ | ||||
|  | ||||
| # you must adjust the value of DEFAULT_MODPOSTFIX according to | ||||
| # -version-info in ../../mod/awk/Makefile.am | ||||
| # -version-info in ../../lib/awk/Makefile.am | ||||
| @WIN32_TRUE@am__append_1 = -DDEFAULT_MODPREFIX=\"libqseawk-\" -DDEFAULT_MODPOSTFIX=\"-1\" | ||||
| @WIN32_FALSE@am__append_2 = -DDEFAULT_MODPREFIX=\"$(libdir)/libqseawk-\" -DDEFAULT_MODPOSTFIX=\"\" | ||||
| bin_PROGRAMS = qseawk$(EXEEXT) | ||||
|  | ||||
| @ -1179,8 +1179,8 @@ static void open_mpi (mpi_t* mpi, int argc, qse_achar_t* argv[]) | ||||
|  | ||||
| 	if (mpi->h) | ||||
| 	{ | ||||
| 		mpi->i = lt_dlsym (mpi->h, "mpi_init"); | ||||
| 		mpi->f = lt_dlsym (mpi->h, "mpi_fini"); | ||||
| 		mpi->i = lt_dlsym (mpi->h, "qse_awk_mod_mpi_init"); | ||||
| 		mpi->f = lt_dlsym (mpi->h, "qse_awk_mod_mpi_fini"); | ||||
|  | ||||
| 		if (mpi->i == QSE_NULL ||  | ||||
| 		    mpi->f == QSE_NULL || | ||||
|  | ||||
							
								
								
									
										26
									
								
								qse/configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								qse/configure
									
									
									
									
										vendored
									
									
								
							| @ -636,6 +636,8 @@ QSE_SIZEOF_INT | ||||
| QSE_SIZEOF_LONG | ||||
| QSE_SIZEOF_LONG_LONG | ||||
| QSE_SIZEOF_WCHAR_T | ||||
| ENABLE_STATIC_MODULE_FALSE | ||||
| ENABLE_STATIC_MODULE_TRUE | ||||
| PTHREAD_CFLAGS | ||||
| PTHREAD_LIBS | ||||
| PTHREAD_CC | ||||
| @ -20257,11 +20259,14 @@ else | ||||
| fi | ||||
|  | ||||
| if test "${ac_cv_header_wctype_h}" = "no" -o "${ac_cv_func_wctrans}" = "no" -o "${ac_cv_func_wctype}" = "no" | ||||
| then | ||||
| 		enable_bundled_unicode_is=yes | ||||
| fi | ||||
| if test "${enable_bundled_unicode_is}" = "yes" | ||||
| then | ||||
|  | ||||
| $as_echo "#define QSE_ENABLE_BUNDLED_UNICODE /**/" >>confdefs.h | ||||
|  | ||||
| 	enable_bundled_unicode_is=yes | ||||
| fi | ||||
|  if test "${enable_bundled_unicode_is}" = "yes"; then | ||||
|   ENABLE_BUNDLED_UNICODE_TRUE= | ||||
| @ -20796,6 +20801,21 @@ $as_echo "no" >&6; } | ||||
| fi | ||||
| rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext | ||||
|  | ||||
| if test "${enable_shared}" = "no" -a "${enable_static}" = "yes" | ||||
| then | ||||
|  | ||||
| $as_echo "#define QSE_ENABLE_STATIC_MODULE /**/" >>confdefs.h | ||||
|  | ||||
| fi | ||||
|  if test "${enable_shared}" = "no" -a "${enable_static}" = "yes"; then | ||||
|   ENABLE_STATIC_MODULE_TRUE= | ||||
|   ENABLE_STATIC_MODULE_FALSE='#' | ||||
| else | ||||
|   ENABLE_STATIC_MODULE_TRUE='#' | ||||
|   ENABLE_STATIC_MODULE_FALSE= | ||||
| fi | ||||
|  | ||||
|  | ||||
| QSE_SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t | ||||
|  | ||||
| QSE_SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long | ||||
| @ -21011,6 +21031,10 @@ if test -z "${ENABLE_CXX_TRUE}" && test -z "${ENABLE_CXX_FALSE}"; then | ||||
|   as_fn_error $? "conditional \"ENABLE_CXX\" was never defined. | ||||
| Usually this means the macro was only invoked conditionally." "$LINENO" 5 | ||||
| fi | ||||
| if test -z "${ENABLE_STATIC_MODULE_TRUE}" && test -z "${ENABLE_STATIC_MODULE_FALSE}"; then | ||||
|   as_fn_error $? "conditional \"ENABLE_STATIC_MODULE\" was never defined. | ||||
| Usually this means the macro was only invoked conditionally." "$LINENO" 5 | ||||
| fi | ||||
|  | ||||
| : "${CONFIG_STATUS=./config.status}" | ||||
| ac_write_fail=0 | ||||
|  | ||||
| @ -427,9 +427,13 @@ AC_ARG_ENABLE([bundled-unicode], [AS_HELP_STRING([--enable-bundled-unicode],[use | ||||
| 	enable_bundled_unicode_is=$enableval,enable_bundled_unicode_is=yes) | ||||
| if test "${ac_cv_header_wctype_h}" = "no" -o "${ac_cv_func_wctrans}" = "no" -o "${ac_cv_func_wctype}" = "no" | ||||
| then | ||||
| 	AC_DEFINE([QSE_ENABLE_BUNDLED_UNICODE],[],[use the bundled unicode routines]) | ||||
| 	dnl force bundled-unicode to yes if some wchar functions are not available | ||||
| 	enable_bundled_unicode_is=yes | ||||
| fi | ||||
| if test "${enable_bundled_unicode_is}" = "yes" | ||||
| then | ||||
| 	AC_DEFINE([QSE_ENABLE_BUNDLED_UNICODE],[],[use the bundled unicode routines]) | ||||
| fi | ||||
| AM_CONDITIONAL(ENABLE_BUNDLED_UNICODE, test "${enable_bundled_unicode_is}" = "yes") | ||||
|  | ||||
| AC_ARG_ENABLE([xcmgrs], [AS_HELP_STRING([--enable-xcmgrs],[include more built-in cmgrs like cp949 and cp950 when enabled (default. yes)])], | ||||
| @ -490,6 +494,12 @@ AC_TRY_COMPILE([#define _POSIX_PII_SOCKET | ||||
| 	[AC_MSG_RESULT(no)] | ||||
| ) | ||||
|  | ||||
| if test "${enable_shared}" = "no" -a "${enable_static}" = "yes" | ||||
| then | ||||
| 	AC_DEFINE([QSE_ENABLE_STATIC_MODULE],[],[link modules statically into the main library]) | ||||
| fi | ||||
| AM_CONDITIONAL(ENABLE_STATIC_MODULE, test "${enable_shared}" = "no" -a "${enable_static}" = "yes") | ||||
|  | ||||
| AC_SUBST(QSE_SIZEOF_WCHAR_T, $ac_cv_sizeof_wchar_t) | ||||
| AC_SUBST(QSE_SIZEOF_LONG_LONG, $ac_cv_sizeof_long_long) | ||||
| AC_SUBST(QSE_SIZEOF_LONG, $ac_cv_sizeof_long) | ||||
|  | ||||
| @ -1189,7 +1189,8 @@ enum qse_awk_errnum_t | ||||
| 	QSE_AWK_EGBLTM,    /**< too many global variables */ | ||||
| 	QSE_AWK_ELCLTM,    /**< too many local variables */ | ||||
| 	QSE_AWK_EPARTM,    /**< too many parameters */ | ||||
| 	QSE_AWK_ESEGTM,    /**< too many identifier segments */ | ||||
| 	QSE_AWK_ESEGTM,    /**< too many segments */ | ||||
| 	QSE_AWK_ESEGTL,    /**< segment '${0}' too long */ | ||||
| 	QSE_AWK_EBADARG,   /**< bad argument */ | ||||
| 	QSE_AWK_ENOARG,    /**< no argument */ | ||||
| 	QSE_AWK_EBREAK,    /**< 'break' outside a loop */ | ||||
|  | ||||
| @ -112,4 +112,7 @@ | ||||
| #	error Define the size of various data types. | ||||
| #endif | ||||
|  | ||||
| /* well, supporting dynamic modules in DOS is nearly impossible */ | ||||
| #define QSE_ENABLE_STATIC_MODULE 1 | ||||
|  | ||||
| #include <qse/conf-inf.h> | ||||
|  | ||||
| @ -637,6 +637,9 @@ | ||||
| /* enable qse_sed_setexectracer() */ | ||||
| #undef QSE_ENABLE_SEDTRACER | ||||
|  | ||||
| /* link modules statically into the main library */ | ||||
| #undef QSE_ENABLE_STATIC_MODULE | ||||
|  | ||||
| /* include more built-in cmgrs like cp949 and cp950 */ | ||||
| #undef QSE_ENABLE_XCMGRS | ||||
|  | ||||
|  | ||||
| @ -16,8 +16,8 @@ LDFLAGS_LIB_COMMON = $(LDFLAGS_ALL_COMMON) | ||||
| LIBADD_LIB_COMMON = -lqsecmn $(LIBM) $(LIBLTDL) | ||||
|  | ||||
| if WIN32 | ||||
| # you must adjust the value of DEFAULT_MODPOSTFIX according to | ||||
| # -version-info in mod/awk/Makefile.am | ||||
| # you must adjust the value of DEFAULT_MODPOSTFIX according  | ||||
| # to the first number in -version-info above | ||||
| CPPFLAGS_LIB_COMMON += -DQSE_AWK_DEFAULT_MODPREFIX=\"libqseawk-\" -DQSE_AWK_DEFAULT_MODPOSTFIX=\"-1\" | ||||
| else | ||||
| CPPFLAGS_LIB_COMMON += -DQSE_AWK_DEFAULT_MODPREFIX=\"$(libdir)/libqseawk-\" -DQSE_AWK_DEFAULT_MODPOSTFIX=\"\" | ||||
| @ -37,8 +37,30 @@ libqseawkxx_la_LDFLAGS = $(LDFLAGS_LIB_COMMON) | ||||
| libqseawkxx_la_LIBADD = -lqseawk -lqsecmnxx $(LIBADD_LIB_COMMON) | ||||
| endif | ||||
|  | ||||
| if ENABLE_STATIC_MODULE | ||||
|  | ||||
| ################################################## | ||||
| # MODULES  | ||||
| # STATIC MODULES BUILT INTO MAIN LIBRARY | ||||
| ################################################## | ||||
| libqseawk_la_SOURCES += \ | ||||
| 	mod-dir.c mod-dir.h \ | ||||
| 	mod-str.c mod-str.h \ | ||||
| 	mod-sys.c mod-sys.h | ||||
|  | ||||
| if HAVE_C_MPI | ||||
| libqseawk_la_SOURCES += mod-mpi.c mod-mpi.h | ||||
| libqseawk_la_CPPFLAGS += $(MPI_CFLAGS) | ||||
| libqseawk_la_LDFLAGS += $(MPI_CLDFLAGS) | ||||
| endif | ||||
|  | ||||
| if HAVE_LIBUCI | ||||
| libqseawk_la_SOURCES += mod-uci.c mod-uci.h | ||||
| libqseawk_la_LIBADD += $(UCI_LIBS) | ||||
| endif | ||||
|  | ||||
| else | ||||
| ################################################## | ||||
| # DYNAMIC MODULES  | ||||
| ################################################## | ||||
|  | ||||
| CPPFLAGS_MOD_COMMON = $(CPPFLAGS_ALL_COMMON) | ||||
| @ -48,26 +70,26 @@ LIBADD_MOD_COMMON = -lqseawk -lqsecmn | ||||
| moddir = $(libdir) | ||||
|  | ||||
| mod_LTLIBRARIES = libqseawk-dir.la | ||||
| libqseawk_dir_la_SOURCES = mod-dir.c | ||||
| libqseawk_dir_la_SOURCES = mod-dir.c mod-dir.h | ||||
| libqseawk_dir_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) | ||||
| libqseawk_dir_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) | ||||
| libqseawk_dir_la_LIBADD = $(LIBADD_MOD_COMMON) | ||||
|  | ||||
| mod_LTLIBRARIES += libqseawk-str.la | ||||
| libqseawk_str_la_SOURCES = mod-str.c | ||||
| libqseawk_str_la_SOURCES = mod-str.c mod-str.h | ||||
| libqseawk_str_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) | ||||
| libqseawk_str_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) | ||||
| libqseawk_str_la_LIBADD = $(LIBADD_MOD_COMMON) | ||||
|  | ||||
| mod_LTLIBRARIES += libqseawk-sys.la | ||||
| libqseawk_sys_la_SOURCES = mod-sys.c | ||||
| libqseawk_sys_la_SOURCES = mod-sys.c mod-sys.h | ||||
| libqseawk_sys_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) | ||||
| libqseawk_sys_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) | ||||
| libqseawk_sys_la_LIBADD = $(LIBADD_MOD_COMMON) | ||||
|  | ||||
| if HAVE_C_MPI | ||||
| mod_LTLIBRARIES += libqseawk-mpi.la | ||||
| libqseawk_mpi_la_SOURCES = mod-mpi.c | ||||
| libqseawk_mpi_la_SOURCES = mod-mpi.c mod-mpi.h | ||||
| libqseawk_mpi_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) $(MPI_CFLAGS) | ||||
| libqseawk_mpi_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) $(MPI_CLDFLAGS) | ||||
| libqseawk_mpi_la_LIBADD = $(LIBADD_MOD_COMMON) | ||||
| @ -75,10 +97,10 @@ endif | ||||
|  | ||||
| if HAVE_LIBUCI | ||||
| mod_LTLIBRARIES += libqseawk-uci.la | ||||
| libqseawk_uci_la_SOURCES = mod-uci.c | ||||
| libqseawk_uci_la_SOURCES = mod-uci.c mod-uci.h | ||||
| libqseawk_uci_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON)  | ||||
| libqseawk_uci_la_LDFLAGS = $(LDFLAGS_MOD_COMMON)  | ||||
| libqseawk_uci_la_LIBADD = $(LIBADD_MOD_COMMON) $(UCI_LIBS) | ||||
| endif | ||||
|  | ||||
|  | ||||
| endif | ||||
|  | ||||
| @ -35,13 +35,27 @@ POST_UNINSTALL = : | ||||
| build_triplet = @build@ | ||||
| host_triplet = @host@ | ||||
|  | ||||
| # you must adjust the value of DEFAULT_MODPOSTFIX according to | ||||
| # -version-info in mod/awk/Makefile.am | ||||
| # you must adjust the value of DEFAULT_MODPOSTFIX according  | ||||
| # to the first number in -version-info above | ||||
| @WIN32_TRUE@am__append_1 = -DQSE_AWK_DEFAULT_MODPREFIX=\"libqseawk-\" -DQSE_AWK_DEFAULT_MODPOSTFIX=\"-1\" | ||||
| @WIN32_FALSE@am__append_2 = -DQSE_AWK_DEFAULT_MODPREFIX=\"$(libdir)/libqseawk-\" -DQSE_AWK_DEFAULT_MODPOSTFIX=\"\" | ||||
| @ENABLE_CXX_TRUE@am__append_3 = libqseawkxx.la | ||||
| @HAVE_C_MPI_TRUE@am__append_4 = libqseawk-mpi.la | ||||
| @HAVE_LIBUCI_TRUE@am__append_5 = libqseawk-uci.la | ||||
|  | ||||
| ################################################## | ||||
| # STATIC MODULES BUILT INTO MAIN LIBRARY | ||||
| ################################################## | ||||
| @ENABLE_STATIC_MODULE_TRUE@am__append_4 = \ | ||||
| @ENABLE_STATIC_MODULE_TRUE@	mod-dir.c mod-dir.h \ | ||||
| @ENABLE_STATIC_MODULE_TRUE@	mod-str.c mod-str.h \ | ||||
| @ENABLE_STATIC_MODULE_TRUE@	mod-sys.c mod-sys.h | ||||
|  | ||||
| @ENABLE_STATIC_MODULE_TRUE@@HAVE_C_MPI_TRUE@am__append_5 = mod-mpi.c mod-mpi.h | ||||
| @ENABLE_STATIC_MODULE_TRUE@@HAVE_C_MPI_TRUE@am__append_6 = $(MPI_CFLAGS) | ||||
| @ENABLE_STATIC_MODULE_TRUE@@HAVE_C_MPI_TRUE@am__append_7 = $(MPI_CLDFLAGS) | ||||
| @ENABLE_STATIC_MODULE_TRUE@@HAVE_LIBUCI_TRUE@am__append_8 = mod-uci.c mod-uci.h | ||||
| @ENABLE_STATIC_MODULE_TRUE@@HAVE_LIBUCI_TRUE@am__append_9 = $(UCI_LIBS) | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@am__append_10 = libqseawk-mpi.la | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_LIBUCI_TRUE@am__append_11 = libqseawk-uci.la | ||||
| subdir = lib/awk | ||||
| DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | ||||
| ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||||
| @ -87,50 +101,77 @@ am__uninstall_files_from_dir = { \ | ||||
| am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(moddir)" | ||||
| LTLIBRARIES = $(lib_LTLIBRARIES) $(mod_LTLIBRARIES) | ||||
| am__DEPENDENCIES_1 = | ||||
| libqseawk_dir_la_DEPENDENCIES = $(am__DEPENDENCIES_1) | ||||
| am_libqseawk_dir_la_OBJECTS = libqseawk_dir_la-mod-dir.lo | ||||
| @ENABLE_STATIC_MODULE_FALSE@libqseawk_dir_la_DEPENDENCIES =  \ | ||||
| @ENABLE_STATIC_MODULE_FALSE@	$(am__DEPENDENCIES_1) | ||||
| am__libqseawk_dir_la_SOURCES_DIST = mod-dir.c mod-dir.h | ||||
| @ENABLE_STATIC_MODULE_FALSE@am_libqseawk_dir_la_OBJECTS =  \ | ||||
| @ENABLE_STATIC_MODULE_FALSE@	libqseawk_dir_la-mod-dir.lo | ||||
| libqseawk_dir_la_OBJECTS = $(am_libqseawk_dir_la_OBJECTS) | ||||
| libqseawk_dir_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ | ||||
| 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ | ||||
| 	$(libqseawk_dir_la_LDFLAGS) $(LDFLAGS) -o $@ | ||||
| @HAVE_C_MPI_TRUE@libqseawk_mpi_la_DEPENDENCIES =  \ | ||||
| @HAVE_C_MPI_TRUE@	$(am__DEPENDENCIES_1) | ||||
| am__libqseawk_mpi_la_SOURCES_DIST = mod-mpi.c | ||||
| @HAVE_C_MPI_TRUE@am_libqseawk_mpi_la_OBJECTS =  \ | ||||
| @HAVE_C_MPI_TRUE@	libqseawk_mpi_la-mod-mpi.lo | ||||
| @ENABLE_STATIC_MODULE_FALSE@am_libqseawk_dir_la_rpath = -rpath \ | ||||
| @ENABLE_STATIC_MODULE_FALSE@	$(moddir) | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@libqseawk_mpi_la_DEPENDENCIES = $(am__DEPENDENCIES_1) | ||||
| am__libqseawk_mpi_la_SOURCES_DIST = mod-mpi.c mod-mpi.h | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@am_libqseawk_mpi_la_OBJECTS = libqseawk_mpi_la-mod-mpi.lo | ||||
| libqseawk_mpi_la_OBJECTS = $(am_libqseawk_mpi_la_OBJECTS) | ||||
| libqseawk_mpi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ | ||||
| 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ | ||||
| 	$(libqseawk_mpi_la_LDFLAGS) $(LDFLAGS) -o $@ | ||||
| @HAVE_C_MPI_TRUE@am_libqseawk_mpi_la_rpath = -rpath $(moddir) | ||||
| libqseawk_str_la_DEPENDENCIES = $(am__DEPENDENCIES_1) | ||||
| am_libqseawk_str_la_OBJECTS = libqseawk_str_la-mod-str.lo | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@am_libqseawk_mpi_la_rpath =  \ | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@	-rpath $(moddir) | ||||
| @ENABLE_STATIC_MODULE_FALSE@libqseawk_str_la_DEPENDENCIES =  \ | ||||
| @ENABLE_STATIC_MODULE_FALSE@	$(am__DEPENDENCIES_1) | ||||
| am__libqseawk_str_la_SOURCES_DIST = mod-str.c mod-str.h | ||||
| @ENABLE_STATIC_MODULE_FALSE@am_libqseawk_str_la_OBJECTS =  \ | ||||
| @ENABLE_STATIC_MODULE_FALSE@	libqseawk_str_la-mod-str.lo | ||||
| libqseawk_str_la_OBJECTS = $(am_libqseawk_str_la_OBJECTS) | ||||
| libqseawk_str_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ | ||||
| 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ | ||||
| 	$(libqseawk_str_la_LDFLAGS) $(LDFLAGS) -o $@ | ||||
| libqseawk_sys_la_DEPENDENCIES = $(am__DEPENDENCIES_1) | ||||
| am_libqseawk_sys_la_OBJECTS = libqseawk_sys_la-mod-sys.lo | ||||
| @ENABLE_STATIC_MODULE_FALSE@am_libqseawk_str_la_rpath = -rpath \ | ||||
| @ENABLE_STATIC_MODULE_FALSE@	$(moddir) | ||||
| @ENABLE_STATIC_MODULE_FALSE@libqseawk_sys_la_DEPENDENCIES =  \ | ||||
| @ENABLE_STATIC_MODULE_FALSE@	$(am__DEPENDENCIES_1) | ||||
| am__libqseawk_sys_la_SOURCES_DIST = mod-sys.c mod-sys.h | ||||
| @ENABLE_STATIC_MODULE_FALSE@am_libqseawk_sys_la_OBJECTS =  \ | ||||
| @ENABLE_STATIC_MODULE_FALSE@	libqseawk_sys_la-mod-sys.lo | ||||
| libqseawk_sys_la_OBJECTS = $(am_libqseawk_sys_la_OBJECTS) | ||||
| libqseawk_sys_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ | ||||
| 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ | ||||
| 	$(libqseawk_sys_la_LDFLAGS) $(LDFLAGS) -o $@ | ||||
| @HAVE_LIBUCI_TRUE@libqseawk_uci_la_DEPENDENCIES =  \ | ||||
| @HAVE_LIBUCI_TRUE@	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) | ||||
| am__libqseawk_uci_la_SOURCES_DIST = mod-uci.c | ||||
| @HAVE_LIBUCI_TRUE@am_libqseawk_uci_la_OBJECTS =  \ | ||||
| @HAVE_LIBUCI_TRUE@	libqseawk_uci_la-mod-uci.lo | ||||
| @ENABLE_STATIC_MODULE_FALSE@am_libqseawk_sys_la_rpath = -rpath \ | ||||
| @ENABLE_STATIC_MODULE_FALSE@	$(moddir) | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_LIBUCI_TRUE@libqseawk_uci_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_LIBUCI_TRUE@	$(am__DEPENDENCIES_1) | ||||
| am__libqseawk_uci_la_SOURCES_DIST = mod-uci.c mod-uci.h | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_LIBUCI_TRUE@am_libqseawk_uci_la_OBJECTS = libqseawk_uci_la-mod-uci.lo | ||||
| libqseawk_uci_la_OBJECTS = $(am_libqseawk_uci_la_OBJECTS) | ||||
| libqseawk_uci_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ | ||||
| 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ | ||||
| 	$(libqseawk_uci_la_LDFLAGS) $(LDFLAGS) -o $@ | ||||
| @HAVE_LIBUCI_TRUE@am_libqseawk_uci_la_rpath = -rpath $(moddir) | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_LIBUCI_TRUE@am_libqseawk_uci_la_rpath =  \ | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_LIBUCI_TRUE@	-rpath $(moddir) | ||||
| am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) | ||||
| libqseawk_la_DEPENDENCIES = $(am__DEPENDENCIES_2) | ||||
| @ENABLE_STATIC_MODULE_TRUE@@HAVE_LIBUCI_TRUE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_1) | ||||
| libqseawk_la_DEPENDENCIES = $(am__DEPENDENCIES_2) \ | ||||
| 	$(am__DEPENDENCIES_3) | ||||
| am__libqseawk_la_SOURCES_DIST = awk.c err.c tree.c parse.c run.c rec.c \ | ||||
| 	val.c fnc.c misc.c rio.c std.c awk.h err.h rio.h val.h fnc.h \ | ||||
| 	misc.h parse.h run.h tree.h mod-dir.c mod-dir.h mod-str.c \ | ||||
| 	mod-str.h mod-sys.c mod-sys.h mod-mpi.c mod-mpi.h mod-uci.c \ | ||||
| 	mod-uci.h | ||||
| @ENABLE_STATIC_MODULE_TRUE@am__objects_1 = libqseawk_la-mod-dir.lo \ | ||||
| @ENABLE_STATIC_MODULE_TRUE@	libqseawk_la-mod-str.lo \ | ||||
| @ENABLE_STATIC_MODULE_TRUE@	libqseawk_la-mod-sys.lo | ||||
| @ENABLE_STATIC_MODULE_TRUE@@HAVE_C_MPI_TRUE@am__objects_2 = libqseawk_la-mod-mpi.lo | ||||
| @ENABLE_STATIC_MODULE_TRUE@@HAVE_LIBUCI_TRUE@am__objects_3 = libqseawk_la-mod-uci.lo | ||||
| am_libqseawk_la_OBJECTS = libqseawk_la-awk.lo libqseawk_la-err.lo \ | ||||
| 	libqseawk_la-tree.lo libqseawk_la-parse.lo libqseawk_la-run.lo \ | ||||
| 	libqseawk_la-rec.lo libqseawk_la-val.lo libqseawk_la-fnc.lo \ | ||||
| 	libqseawk_la-misc.lo libqseawk_la-rio.lo libqseawk_la-std.lo | ||||
| 	libqseawk_la-misc.lo libqseawk_la-rio.lo libqseawk_la-std.lo \ | ||||
| 	$(am__objects_1) $(am__objects_2) $(am__objects_3) | ||||
| libqseawk_la_OBJECTS = $(am_libqseawk_la_OBJECTS) | ||||
| libqseawk_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ | ||||
| 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ | ||||
| @ -170,10 +211,12 @@ SOURCES = $(libqseawk_dir_la_SOURCES) $(libqseawk_mpi_la_SOURCES) \ | ||||
| 	$(libqseawk_str_la_SOURCES) $(libqseawk_sys_la_SOURCES) \ | ||||
| 	$(libqseawk_uci_la_SOURCES) $(libqseawk_la_SOURCES) \ | ||||
| 	$(libqseawkxx_la_SOURCES) | ||||
| DIST_SOURCES = $(libqseawk_dir_la_SOURCES) \ | ||||
| DIST_SOURCES = $(am__libqseawk_dir_la_SOURCES_DIST) \ | ||||
| 	$(am__libqseawk_mpi_la_SOURCES_DIST) \ | ||||
| 	$(libqseawk_str_la_SOURCES) $(libqseawk_sys_la_SOURCES) \ | ||||
| 	$(am__libqseawk_uci_la_SOURCES_DIST) $(libqseawk_la_SOURCES) \ | ||||
| 	$(am__libqseawk_str_la_SOURCES_DIST) \ | ||||
| 	$(am__libqseawk_sys_la_SOURCES_DIST) \ | ||||
| 	$(am__libqseawk_uci_la_SOURCES_DIST) \ | ||||
| 	$(am__libqseawk_la_SOURCES_DIST) \ | ||||
| 	$(am__libqseawkxx_la_SOURCES_DIST) | ||||
| ETAGS = etags | ||||
| CTAGS = ctags | ||||
| @ -367,44 +410,48 @@ CPPFLAGS_LIB_COMMON = $(CPPFLAGS_ALL_COMMON) $(LTDLINCL) \ | ||||
| LDFLAGS_LIB_COMMON = $(LDFLAGS_ALL_COMMON)  | ||||
| LIBADD_LIB_COMMON = -lqsecmn $(LIBM) $(LIBLTDL) | ||||
| lib_LTLIBRARIES = libqseawk.la $(am__append_3) | ||||
| libqseawk_la_SOURCES = awk.c err.c tree.c parse.c run.c rec.c val.c fnc.c misc.c rio.c std.c awk.h err.h rio.h val.h fnc.h misc.h parse.h run.h tree.h  | ||||
| libqseawk_la_CPPFLAGS = $(CPPFLAGS_LIB_COMMON) | ||||
| libqseawk_la_LDFLAGS = $(LDFLAGS_LIB_COMMON) | ||||
| libqseawk_la_LIBADD = $(LIBADD_LIB_COMMON) | ||||
| libqseawk_la_SOURCES = awk.c err.c tree.c parse.c run.c rec.c val.c \ | ||||
| 	fnc.c misc.c rio.c std.c awk.h err.h rio.h val.h fnc.h misc.h \ | ||||
| 	parse.h run.h tree.h $(am__append_4) $(am__append_5) \ | ||||
| 	$(am__append_8) | ||||
| libqseawk_la_CPPFLAGS = $(CPPFLAGS_LIB_COMMON) $(am__append_6) | ||||
| libqseawk_la_LDFLAGS = $(LDFLAGS_LIB_COMMON) $(am__append_7) | ||||
| libqseawk_la_LIBADD = $(LIBADD_LIB_COMMON) $(am__append_9) | ||||
| @ENABLE_CXX_TRUE@libqseawkxx_la_SOURCES = Awk.cpp StdAwk.cpp | ||||
| @ENABLE_CXX_TRUE@libqseawkxx_la_CPPFLAGS = $(CPPFLAGS_LIB_COMMON) | ||||
| @ENABLE_CXX_TRUE@libqseawkxx_la_LDFLAGS = $(LDFLAGS_LIB_COMMON) | ||||
| @ENABLE_CXX_TRUE@libqseawkxx_la_LIBADD = -lqseawk -lqsecmnxx $(LIBADD_LIB_COMMON) | ||||
|  | ||||
| ################################################## | ||||
| # MODULES  | ||||
| # DYNAMIC MODULES  | ||||
| ################################################## | ||||
| CPPFLAGS_MOD_COMMON = $(CPPFLAGS_ALL_COMMON) | ||||
| LDFLAGS_MOD_COMMON = $(LDFLAGS_ALL_COMMON) | ||||
| LIBADD_MOD_COMMON = -lqseawk -lqsecmn | ||||
| moddir = $(libdir) | ||||
| mod_LTLIBRARIES = libqseawk-dir.la libqseawk-str.la libqseawk-sys.la \ | ||||
| 	$(am__append_4) $(am__append_5) | ||||
| libqseawk_dir_la_SOURCES = mod-dir.c | ||||
| libqseawk_dir_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) | ||||
| libqseawk_dir_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) | ||||
| libqseawk_dir_la_LIBADD = $(LIBADD_MOD_COMMON) | ||||
| libqseawk_str_la_SOURCES = mod-str.c | ||||
| libqseawk_str_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) | ||||
| libqseawk_str_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) | ||||
| libqseawk_str_la_LIBADD = $(LIBADD_MOD_COMMON) | ||||
| libqseawk_sys_la_SOURCES = mod-sys.c | ||||
| libqseawk_sys_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) | ||||
| libqseawk_sys_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) | ||||
| libqseawk_sys_la_LIBADD = $(LIBADD_MOD_COMMON) | ||||
| @HAVE_C_MPI_TRUE@libqseawk_mpi_la_SOURCES = mod-mpi.c | ||||
| @HAVE_C_MPI_TRUE@libqseawk_mpi_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) $(MPI_CFLAGS) | ||||
| @HAVE_C_MPI_TRUE@libqseawk_mpi_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) $(MPI_CLDFLAGS) | ||||
| @HAVE_C_MPI_TRUE@libqseawk_mpi_la_LIBADD = $(LIBADD_MOD_COMMON) | ||||
| @HAVE_LIBUCI_TRUE@libqseawk_uci_la_SOURCES = mod-uci.c | ||||
| @HAVE_LIBUCI_TRUE@libqseawk_uci_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON)  | ||||
| @HAVE_LIBUCI_TRUE@libqseawk_uci_la_LDFLAGS = $(LDFLAGS_MOD_COMMON)  | ||||
| @HAVE_LIBUCI_TRUE@libqseawk_uci_la_LIBADD = $(LIBADD_MOD_COMMON) $(UCI_LIBS) | ||||
| @ENABLE_STATIC_MODULE_FALSE@CPPFLAGS_MOD_COMMON = $(CPPFLAGS_ALL_COMMON) | ||||
| @ENABLE_STATIC_MODULE_FALSE@LDFLAGS_MOD_COMMON = $(LDFLAGS_ALL_COMMON) | ||||
| @ENABLE_STATIC_MODULE_FALSE@LIBADD_MOD_COMMON = -lqseawk -lqsecmn | ||||
| @ENABLE_STATIC_MODULE_FALSE@moddir = $(libdir) | ||||
| @ENABLE_STATIC_MODULE_FALSE@mod_LTLIBRARIES = libqseawk-dir.la \ | ||||
| @ENABLE_STATIC_MODULE_FALSE@	libqseawk-str.la libqseawk-sys.la \ | ||||
| @ENABLE_STATIC_MODULE_FALSE@	$(am__append_10) $(am__append_11) | ||||
| @ENABLE_STATIC_MODULE_FALSE@libqseawk_dir_la_SOURCES = mod-dir.c mod-dir.h | ||||
| @ENABLE_STATIC_MODULE_FALSE@libqseawk_dir_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) | ||||
| @ENABLE_STATIC_MODULE_FALSE@libqseawk_dir_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) | ||||
| @ENABLE_STATIC_MODULE_FALSE@libqseawk_dir_la_LIBADD = $(LIBADD_MOD_COMMON) | ||||
| @ENABLE_STATIC_MODULE_FALSE@libqseawk_str_la_SOURCES = mod-str.c mod-str.h | ||||
| @ENABLE_STATIC_MODULE_FALSE@libqseawk_str_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) | ||||
| @ENABLE_STATIC_MODULE_FALSE@libqseawk_str_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) | ||||
| @ENABLE_STATIC_MODULE_FALSE@libqseawk_str_la_LIBADD = $(LIBADD_MOD_COMMON) | ||||
| @ENABLE_STATIC_MODULE_FALSE@libqseawk_sys_la_SOURCES = mod-sys.c mod-sys.h | ||||
| @ENABLE_STATIC_MODULE_FALSE@libqseawk_sys_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) | ||||
| @ENABLE_STATIC_MODULE_FALSE@libqseawk_sys_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) | ||||
| @ENABLE_STATIC_MODULE_FALSE@libqseawk_sys_la_LIBADD = $(LIBADD_MOD_COMMON) | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@libqseawk_mpi_la_SOURCES = mod-mpi.c mod-mpi.h | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@libqseawk_mpi_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) $(MPI_CFLAGS) | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@libqseawk_mpi_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) $(MPI_CLDFLAGS) | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@libqseawk_mpi_la_LIBADD = $(LIBADD_MOD_COMMON) | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_LIBUCI_TRUE@libqseawk_uci_la_SOURCES = mod-uci.c mod-uci.h | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_LIBUCI_TRUE@libqseawk_uci_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON)  | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_LIBUCI_TRUE@libqseawk_uci_la_LDFLAGS = $(LDFLAGS_MOD_COMMON)  | ||||
| @ENABLE_STATIC_MODULE_FALSE@@HAVE_LIBUCI_TRUE@libqseawk_uci_la_LIBADD = $(LIBADD_MOD_COMMON) $(UCI_LIBS) | ||||
| all: all-am | ||||
|  | ||||
| .SUFFIXES: | ||||
| @ -502,13 +549,13 @@ clean-modLTLIBRARIES: | ||||
| 	  rm -f "$${dir}/so_locations"; \ | ||||
| 	done | ||||
| libqseawk-dir.la: $(libqseawk_dir_la_OBJECTS) $(libqseawk_dir_la_DEPENDENCIES) $(EXTRA_libqseawk_dir_la_DEPENDENCIES)  | ||||
| 	$(libqseawk_dir_la_LINK) -rpath $(moddir) $(libqseawk_dir_la_OBJECTS) $(libqseawk_dir_la_LIBADD) $(LIBS) | ||||
| 	$(libqseawk_dir_la_LINK) $(am_libqseawk_dir_la_rpath) $(libqseawk_dir_la_OBJECTS) $(libqseawk_dir_la_LIBADD) $(LIBS) | ||||
| libqseawk-mpi.la: $(libqseawk_mpi_la_OBJECTS) $(libqseawk_mpi_la_DEPENDENCIES) $(EXTRA_libqseawk_mpi_la_DEPENDENCIES)  | ||||
| 	$(libqseawk_mpi_la_LINK) $(am_libqseawk_mpi_la_rpath) $(libqseawk_mpi_la_OBJECTS) $(libqseawk_mpi_la_LIBADD) $(LIBS) | ||||
| libqseawk-str.la: $(libqseawk_str_la_OBJECTS) $(libqseawk_str_la_DEPENDENCIES) $(EXTRA_libqseawk_str_la_DEPENDENCIES)  | ||||
| 	$(libqseawk_str_la_LINK) -rpath $(moddir) $(libqseawk_str_la_OBJECTS) $(libqseawk_str_la_LIBADD) $(LIBS) | ||||
| 	$(libqseawk_str_la_LINK) $(am_libqseawk_str_la_rpath) $(libqseawk_str_la_OBJECTS) $(libqseawk_str_la_LIBADD) $(LIBS) | ||||
| libqseawk-sys.la: $(libqseawk_sys_la_OBJECTS) $(libqseawk_sys_la_DEPENDENCIES) $(EXTRA_libqseawk_sys_la_DEPENDENCIES)  | ||||
| 	$(libqseawk_sys_la_LINK) -rpath $(moddir) $(libqseawk_sys_la_OBJECTS) $(libqseawk_sys_la_LIBADD) $(LIBS) | ||||
| 	$(libqseawk_sys_la_LINK) $(am_libqseawk_sys_la_rpath) $(libqseawk_sys_la_OBJECTS) $(libqseawk_sys_la_LIBADD) $(LIBS) | ||||
| libqseawk-uci.la: $(libqseawk_uci_la_OBJECTS) $(libqseawk_uci_la_DEPENDENCIES) $(EXTRA_libqseawk_uci_la_DEPENDENCIES)  | ||||
| 	$(libqseawk_uci_la_LINK) $(am_libqseawk_uci_la_rpath) $(libqseawk_uci_la_OBJECTS) $(libqseawk_uci_la_LIBADD) $(LIBS) | ||||
| libqseawk.la: $(libqseawk_la_OBJECTS) $(libqseawk_la_DEPENDENCIES) $(EXTRA_libqseawk_la_DEPENDENCIES)  | ||||
| @ -527,6 +574,11 @@ distclean-compile: | ||||
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqseawk_la-err.Plo@am__quote@ | ||||
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqseawk_la-fnc.Plo@am__quote@ | ||||
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqseawk_la-misc.Plo@am__quote@ | ||||
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqseawk_la-mod-dir.Plo@am__quote@ | ||||
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqseawk_la-mod-mpi.Plo@am__quote@ | ||||
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqseawk_la-mod-str.Plo@am__quote@ | ||||
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqseawk_la-mod-sys.Plo@am__quote@ | ||||
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqseawk_la-mod-uci.Plo@am__quote@ | ||||
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqseawk_la-parse.Plo@am__quote@ | ||||
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqseawk_la-rec.Plo@am__quote@ | ||||
| @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqseawk_la-rio.Plo@am__quote@ | ||||
| @ -674,6 +726,41 @@ libqseawk_la-std.lo: std.c | ||||
| @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | ||||
| @am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqseawk_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libqseawk_la-std.lo `test -f 'std.c' || echo '$(srcdir)/'`std.c | ||||
|  | ||||
| libqseawk_la-mod-dir.lo: mod-dir.c | ||||
| @am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqseawk_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libqseawk_la-mod-dir.lo -MD -MP -MF $(DEPDIR)/libqseawk_la-mod-dir.Tpo -c -o libqseawk_la-mod-dir.lo `test -f 'mod-dir.c' || echo '$(srcdir)/'`mod-dir.c | ||||
| @am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libqseawk_la-mod-dir.Tpo $(DEPDIR)/libqseawk_la-mod-dir.Plo | ||||
| @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod-dir.c' object='libqseawk_la-mod-dir.lo' libtool=yes @AMDEPBACKSLASH@ | ||||
| @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | ||||
| @am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqseawk_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libqseawk_la-mod-dir.lo `test -f 'mod-dir.c' || echo '$(srcdir)/'`mod-dir.c | ||||
|  | ||||
| libqseawk_la-mod-str.lo: mod-str.c | ||||
| @am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqseawk_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libqseawk_la-mod-str.lo -MD -MP -MF $(DEPDIR)/libqseawk_la-mod-str.Tpo -c -o libqseawk_la-mod-str.lo `test -f 'mod-str.c' || echo '$(srcdir)/'`mod-str.c | ||||
| @am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libqseawk_la-mod-str.Tpo $(DEPDIR)/libqseawk_la-mod-str.Plo | ||||
| @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod-str.c' object='libqseawk_la-mod-str.lo' libtool=yes @AMDEPBACKSLASH@ | ||||
| @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | ||||
| @am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqseawk_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libqseawk_la-mod-str.lo `test -f 'mod-str.c' || echo '$(srcdir)/'`mod-str.c | ||||
|  | ||||
| libqseawk_la-mod-sys.lo: mod-sys.c | ||||
| @am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqseawk_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libqseawk_la-mod-sys.lo -MD -MP -MF $(DEPDIR)/libqseawk_la-mod-sys.Tpo -c -o libqseawk_la-mod-sys.lo `test -f 'mod-sys.c' || echo '$(srcdir)/'`mod-sys.c | ||||
| @am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libqseawk_la-mod-sys.Tpo $(DEPDIR)/libqseawk_la-mod-sys.Plo | ||||
| @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod-sys.c' object='libqseawk_la-mod-sys.lo' libtool=yes @AMDEPBACKSLASH@ | ||||
| @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | ||||
| @am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqseawk_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libqseawk_la-mod-sys.lo `test -f 'mod-sys.c' || echo '$(srcdir)/'`mod-sys.c | ||||
|  | ||||
| libqseawk_la-mod-mpi.lo: mod-mpi.c | ||||
| @am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqseawk_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libqseawk_la-mod-mpi.lo -MD -MP -MF $(DEPDIR)/libqseawk_la-mod-mpi.Tpo -c -o libqseawk_la-mod-mpi.lo `test -f 'mod-mpi.c' || echo '$(srcdir)/'`mod-mpi.c | ||||
| @am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libqseawk_la-mod-mpi.Tpo $(DEPDIR)/libqseawk_la-mod-mpi.Plo | ||||
| @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod-mpi.c' object='libqseawk_la-mod-mpi.lo' libtool=yes @AMDEPBACKSLASH@ | ||||
| @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | ||||
| @am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqseawk_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libqseawk_la-mod-mpi.lo `test -f 'mod-mpi.c' || echo '$(srcdir)/'`mod-mpi.c | ||||
|  | ||||
| libqseawk_la-mod-uci.lo: mod-uci.c | ||||
| @am__fastdepCC_TRUE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqseawk_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libqseawk_la-mod-uci.lo -MD -MP -MF $(DEPDIR)/libqseawk_la-mod-uci.Tpo -c -o libqseawk_la-mod-uci.lo `test -f 'mod-uci.c' || echo '$(srcdir)/'`mod-uci.c | ||||
| @am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/libqseawk_la-mod-uci.Tpo $(DEPDIR)/libqseawk_la-mod-uci.Plo | ||||
| @AMDEP_TRUE@@am__fastdepCC_FALSE@	source='mod-uci.c' object='libqseawk_la-mod-uci.lo' libtool=yes @AMDEPBACKSLASH@ | ||||
| @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | ||||
| @am__fastdepCC_FALSE@	$(LIBTOOL)  --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libqseawk_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libqseawk_la-mod-uci.lo `test -f 'mod-uci.c' || echo '$(srcdir)/'`mod-uci.c | ||||
|  | ||||
| .cpp.o: | ||||
| @am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< | ||||
| @am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | ||||
|  | ||||
| @ -313,7 +313,7 @@ static qse_rbt_walk_t unload_module (qse_rbt_t* rbt, qse_rbt_pair_t* pair, void* | ||||
|  | ||||
| 	md = QSE_RBT_VPTR(pair);	 | ||||
| 	if (md->mod.unload) md->mod.unload (&md->mod, awk); | ||||
| 	awk->prm.modclose (awk, md->handle); | ||||
| 	if (md->handle) awk->prm.modclose (awk, md->handle); | ||||
|  | ||||
| 	return QSE_RBT_WALK_FORWARD; | ||||
| } | ||||
|  | ||||
| @ -89,7 +89,8 @@ const qse_char_t* qse_awk_dflerrstr (const qse_awk_t* awk, qse_awk_errnum_t errn | ||||
| 		QSE_T("too many global variables"), | ||||
| 		QSE_T("too many local variables"), | ||||
| 		QSE_T("too many parameters"), | ||||
| 		QSE_T("too many identifier segments"), | ||||
| 		QSE_T("too many segments"), | ||||
| 		QSE_T("segment '${0}' too long"), | ||||
| 		QSE_T("bad argument"), | ||||
| 		QSE_T("no argument provided"), | ||||
| 		QSE_T("'break' outside a loop"), | ||||
|  | ||||
| @ -18,7 +18,7 @@ | ||||
|     License along with QSE. If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| #include <qse/awk/awk.h> | ||||
| #include "mod-dir.h" | ||||
| #include <qse/cmn/str.h> | ||||
| #include <qse/cmn/rbt.h> | ||||
| #include <qse/cmn/dir.h> | ||||
| @ -579,7 +579,7 @@ static void unload (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| 	qse_rbt_close (rbt); | ||||
| } | ||||
|  | ||||
| QSE_EXPORT int load (qse_awk_mod_t* mod, qse_awk_t* awk)  | ||||
| int qse_awk_mod_dir (qse_awk_mod_t* mod, qse_awk_t* awk)  | ||||
| { | ||||
| 	qse_rbt_t* rbt; | ||||
|  | ||||
| @ -601,8 +601,4 @@ QSE_EXPORT int load (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| 	return 0; | ||||
| } | ||||
|  | ||||
| #if defined(__DOS__) | ||||
| /* kind of DllMain() for Causeway DLL */ | ||||
| int main (int eax) { return 0; } | ||||
| #endif | ||||
|         | ||||
|  | ||||
							
								
								
									
										37
									
								
								qse/lib/awk/mod-dir.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								qse/lib/awk/mod-dir.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | ||||
| /* | ||||
|  * $Id$ | ||||
|  * | ||||
|     Copyright 2006-2012 Chung, Hyung-Hwan. | ||||
|     This file is part of QSE. | ||||
|  | ||||
|     QSE is free software: you can redistribute it and/or modify | ||||
|     it under the terms of the GNU Lesser General Public License as  | ||||
|     published by the Free Software Foundation, either version 3 of  | ||||
|     the License, or (at your option) any later version. | ||||
|  | ||||
|     QSE is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU Lesser General Public License for more details. | ||||
|  | ||||
|     You should have received a copy of the GNU Lesser General Public  | ||||
|     License along with QSE. If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| #ifndef _QSE_LIB_AWK_MOD_DIR_H_ | ||||
| #define _QSE_LIB_AWK_MOD_DIR_H_ | ||||
|  | ||||
| #include <qse/awk/awk.h> | ||||
|  | ||||
| #if defined(__cplusplus) | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| QSE_EXPORT int qse_awk_mod_dir (qse_awk_mod_t* mod, qse_awk_t* awk); | ||||
|  | ||||
| #if defined(__cplusplus) | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
|  | ||||
| @ -18,7 +18,7 @@ | ||||
|     License along with QSE. If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| #include <qse/awk/awk.h> | ||||
| #include "mod-mpi.h" | ||||
| #include <qse/cmn/str.h> | ||||
| #include <qse/cmn/main.h> | ||||
|  | ||||
| @ -253,7 +253,7 @@ static void unload (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| 	/* TODO: anything */ | ||||
| } | ||||
|  | ||||
| QSE_EXPORT int load (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| int qse_awk_mod_mpi (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| { | ||||
| 	mod->query = query; | ||||
| 	mod->unload = unload; | ||||
| @ -276,7 +276,7 @@ QSE_EXPORT int load (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
|  * and the module wasn't built. So you can't access mpi::xxx symbols either  | ||||
|  */ | ||||
|  | ||||
| QSE_EXPORT int mpi_init (int argc, qse_achar_t* argv[]) | ||||
| QSE_EXPORT int qse_awk_mod_mpi_init (int argc, qse_achar_t* argv[]) | ||||
| { | ||||
| 	int rx; | ||||
|  | ||||
| @ -290,7 +290,7 @@ QSE_EXPORT int mpi_init (int argc, qse_achar_t* argv[]) | ||||
| 	return rx; | ||||
| } | ||||
|  | ||||
| QSE_EXPORT void mpi_fini (void) | ||||
| QSE_EXPORT void qse_awk_mod_mpi_fini (void) | ||||
| { | ||||
| 	MPI_Finalize (); | ||||
| } | ||||
|  | ||||
							
								
								
									
										37
									
								
								qse/lib/awk/mod-mpi.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								qse/lib/awk/mod-mpi.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | ||||
| /* | ||||
|  * $Id$ | ||||
|  * | ||||
|     Copyright 2006-2012 Chung, Hyung-Hwan. | ||||
|     This file is part of QSE. | ||||
|  | ||||
|     QSE is free software: you can redistribute it and/or modify | ||||
|     it under the terms of the GNU Lesser General Public License as  | ||||
|     published by the Free Software Foundation, either version 3 of  | ||||
|     the License, or (at your option) any later version. | ||||
|  | ||||
|     QSE is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU Lesser General Public License for more details. | ||||
|  | ||||
|     You should have received a copy of the GNU Lesser General Public  | ||||
|     License along with QSE. If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| #ifndef _QSE_LIB_AWK_MOD_MPI_H_ | ||||
| #define _QSE_LIB_AWK_MOD_MPI_H_ | ||||
|  | ||||
| #include <qse/awk/awk.h> | ||||
|  | ||||
| #if defined(__cplusplus) | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| QSE_EXPORT int qse_awk_mod_mpi (qse_awk_mod_t* mod, qse_awk_t* awk); | ||||
|  | ||||
| #if defined(__cplusplus) | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
|  | ||||
| @ -18,11 +18,11 @@ | ||||
|     License along with QSE. If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| #include <qse/awk/awk.h> | ||||
| #include "mod-str.h" | ||||
| #include <qse/cmn/str.h> | ||||
| #include "../cmn/mem.h" | ||||
|  | ||||
| static int fnc_normspc (qse_awk_rtx_t* rtx, const qse_awk_fnc_info_t* fi) | ||||
| static int fnc_normspace (qse_awk_rtx_t* rtx, const qse_awk_fnc_info_t* fi) | ||||
| { | ||||
| 	/* normalize spaces  | ||||
| 	 * - trim leading and trailing spaces | ||||
| @ -86,10 +86,10 @@ struct fnctab_t | ||||
| static fnctab_t fnctab[] = | ||||
| { | ||||
| 	/* keep this table sorted for binary search in query(). */ | ||||
| 	{ QSE_T("ltrim"),    { { 1, 1, QSE_NULL }, fnc_ltrim,    0  } }, | ||||
| 	{ QSE_T("normspc"),  { { 1, 1, QSE_NULL }, fnc_normspc,  0  } }, | ||||
| 	{ QSE_T("rtrim"),    { { 1, 1, QSE_NULL }, fnc_rtrim,    0  } }, | ||||
| 	{ QSE_T("trim"),     { { 1, 1, QSE_NULL }, fnc_trim,     0  } } | ||||
| 	{ QSE_T("ltrim"),     { { 1, 1, QSE_NULL }, fnc_ltrim,    0  } }, | ||||
| 	{ QSE_T("normspace"), { { 1, 1, QSE_NULL }, fnc_normspace,  0  } }, | ||||
| 	{ QSE_T("rtrim"),     { { 1, 1, QSE_NULL }, fnc_rtrim,    0  } }, | ||||
| 	{ QSE_T("trim"),      { { 1, 1, QSE_NULL }, fnc_trim,     0  } } | ||||
| }; | ||||
|  | ||||
| static int query (qse_awk_mod_t* mod, qse_awk_t* awk, const qse_char_t* name, qse_awk_mod_sym_t* sym) | ||||
| @ -158,7 +158,7 @@ static void unload (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| 	/* TODO: anything */ | ||||
| } | ||||
|  | ||||
| QSE_EXPORT int load (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| int qse_awk_mod_str (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| { | ||||
| 	mod->query = query; | ||||
| 	mod->unload = unload; | ||||
| @ -172,7 +172,3 @@ QSE_EXPORT int load (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| 	return 0; | ||||
| } | ||||
|  | ||||
| #if defined(__DOS__) | ||||
| /* kind of DllMain() for Causeway DLL */ | ||||
| int main (int eax) { return 0; } | ||||
| #endif | ||||
|  | ||||
							
								
								
									
										37
									
								
								qse/lib/awk/mod-str.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								qse/lib/awk/mod-str.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | ||||
| /* | ||||
|  * $Id$ | ||||
|  * | ||||
|     Copyright 2006-2012 Chung, Hyung-Hwan. | ||||
|     This file is part of QSE. | ||||
|  | ||||
|     QSE is free software: you can redistribute it and/or modify | ||||
|     it under the terms of the GNU Lesser General Public License as  | ||||
|     published by the Free Software Foundation, either version 3 of  | ||||
|     the License, or (at your option) any later version. | ||||
|  | ||||
|     QSE is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU Lesser General Public License for more details. | ||||
|  | ||||
|     You should have received a copy of the GNU Lesser General Public  | ||||
|     License along with QSE. If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| #ifndef _QSE_LIB_AWK_MOD_STR_H_ | ||||
| #define _QSE_LIB_AWK_MOD_STR_H_ | ||||
|  | ||||
| #include <qse/awk/awk.h> | ||||
|  | ||||
| #if defined(__cplusplus) | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| QSE_EXPORT int qse_awk_mod_str (qse_awk_mod_t* mod, qse_awk_t* awk); | ||||
|  | ||||
| #if defined(__cplusplus) | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
|  | ||||
| @ -18,7 +18,7 @@ | ||||
|     License along with QSE. If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| #include <qse/awk/awk.h> | ||||
| #include "mod-sys.h" | ||||
| #include <qse/cmn/str.h> | ||||
| #include <qse/cmn/time.h> | ||||
| #include <qse/cmn/nwif.h> | ||||
| @ -729,7 +729,7 @@ static void unload (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| 	/* TODO: anything */ | ||||
| } | ||||
|  | ||||
| QSE_EXPORT int load (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| int qse_awk_mod_sys (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| { | ||||
| 	mod->query = query; | ||||
| 	mod->unload = unload; | ||||
| @ -743,7 +743,3 @@ QSE_EXPORT int load (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| 	return 0; | ||||
| } | ||||
|  | ||||
| #if defined(__DOS__) | ||||
| /* kind of DllMain() for Causeway DLL */ | ||||
| int main (int eax) { return 0; } | ||||
| #endif | ||||
|  | ||||
							
								
								
									
										37
									
								
								qse/lib/awk/mod-sys.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								qse/lib/awk/mod-sys.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | ||||
| /* | ||||
|  * $Id$ | ||||
|  * | ||||
|     Copyright 2006-2012 Chung, Hyung-Hwan. | ||||
|     This file is part of QSE. | ||||
|  | ||||
|     QSE is free software: you can redistribute it and/or modify | ||||
|     it under the terms of the GNU Lesser General Public License as  | ||||
|     published by the Free Software Foundation, either version 3 of  | ||||
|     the License, or (at your option) any later version. | ||||
|  | ||||
|     QSE is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU Lesser General Public License for more details. | ||||
|  | ||||
|     You should have received a copy of the GNU Lesser General Public  | ||||
|     License along with QSE. If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| #ifndef _QSE_LIB_AWK_MOD_SYS_H_ | ||||
| #define _QSE_LIB_AWK_MOD_SYS_H_ | ||||
|  | ||||
| #include <qse/awk/awk.h> | ||||
|  | ||||
| #if defined(__cplusplus) | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| QSE_EXPORT int qse_awk_mod_sys (qse_awk_mod_t* mod, qse_awk_t* awk); | ||||
|  | ||||
| #if defined(__cplusplus) | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
|  | ||||
| @ -18,7 +18,7 @@ | ||||
|     License along with QSE. If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| #include <qse/awk/awk.h> | ||||
| #include "mod-uci.h" | ||||
| #include <qse/cmn/str.h> | ||||
| #include <qse/cmn/rbt.h> | ||||
| #include <qse/cmn/mbwc.h> | ||||
| @ -1406,7 +1406,7 @@ static void unload (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| 	qse_rbt_close (rbt); | ||||
| } | ||||
|  | ||||
| QSE_EXPORT int load (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| int qse_awk_mod_uci (qse_awk_mod_t* mod, qse_awk_t* awk) | ||||
| { | ||||
| 	qse_rbt_t* rbt; | ||||
|  | ||||
|  | ||||
							
								
								
									
										37
									
								
								qse/lib/awk/mod-uci.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								qse/lib/awk/mod-uci.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | ||||
| /* | ||||
|  * $Id$ | ||||
|  * | ||||
|     Copyright 2006-2012 Chung, Hyung-Hwan. | ||||
|     This file is part of QSE. | ||||
|  | ||||
|     QSE is free software: you can redistribute it and/or modify | ||||
|     it under the terms of the GNU Lesser General Public License as  | ||||
|     published by the Free Software Foundation, either version 3 of  | ||||
|     the License, or (at your option) any later version. | ||||
|  | ||||
|     QSE is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU Lesser General Public License for more details. | ||||
|  | ||||
|     You should have received a copy of the GNU Lesser General Public  | ||||
|     License along with QSE. If not, see <http://www.gnu.org/licenses/>. | ||||
|  */ | ||||
|  | ||||
| #ifndef _QSE_LIB_AWK_MOD_UCI_H_ | ||||
| #define _QSE_LIB_AWK_MOD_UCI_H_ | ||||
|  | ||||
| #include <qse/awk/awk.h> | ||||
|  | ||||
| #if defined(__cplusplus) | ||||
| extern "C" { | ||||
| #endif | ||||
|  | ||||
| QSE_EXPORT int qse_awk_mod_uci (qse_awk_mod_t* mod, qse_awk_t* awk); | ||||
|  | ||||
| #if defined(__cplusplus) | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #endif | ||||
|  | ||||
| @ -6480,10 +6480,42 @@ int qse_awk_putsrcstrn ( | ||||
| 	return 0; | ||||
| } | ||||
|  | ||||
| #if defined(QSE_ENABLE_STATIC_MODULE) | ||||
|  | ||||
| /* let's hardcode module information */ | ||||
| #include "mod-dir.h" | ||||
| #include "mod-str.h" | ||||
| #include "mod-sys.h" | ||||
| #if defined(HAVE_MPI) | ||||
| #	include "mod-mpi.h" | ||||
| #endif | ||||
| #if defined(HAVE_UCI) | ||||
| #	include "mod-uci.h" | ||||
| #endif | ||||
|  | ||||
| static struct | ||||
| { | ||||
| 	qse_char_t* modname; | ||||
| 	int (*modload) (qse_awk_mod_t* mod, qse_awk_t* awk); | ||||
| } static_modtab[] =  | ||||
| { | ||||
| 	{ QSE_T("dir"), qse_awk_mod_dir }, | ||||
| #if defined(HAVE_MPI) | ||||
| 	{ QSE_T("mpi"), qse_awk_mod_mpi }, | ||||
| #endif | ||||
| 	{ QSE_T("str"), qse_awk_mod_str }, | ||||
| 	{ QSE_T("sys"), qse_awk_mod_sys }, | ||||
| #if defined(HAVE_UCI) | ||||
| 	{ QSE_T("uci"), qse_awk_mod_uci } | ||||
| #endif | ||||
| }; | ||||
| #endif | ||||
|  | ||||
| static qse_awk_mod_t* query_module ( | ||||
| 	qse_awk_t* awk, const qse_xstr_t segs[], int nsegs, | ||||
| 	qse_awk_mod_sym_t* sym) | ||||
| { | ||||
|  | ||||
| 	qse_rbt_pair_t* pair; | ||||
| 	qse_awk_mod_data_t* mdp; | ||||
| 	qse_cstr_t ea; | ||||
| @ -6491,6 +6523,7 @@ static qse_awk_mod_t* query_module ( | ||||
|  | ||||
| 	QSE_ASSERT (nsegs == 2); | ||||
|  | ||||
|  | ||||
| 	pair = qse_rbt_search (awk->modtab, segs[0].ptr, segs[0].len); | ||||
| 	if (pair) | ||||
| 	{ | ||||
| @ -6498,9 +6531,59 @@ static qse_awk_mod_t* query_module ( | ||||
| 	} | ||||
| 	else | ||||
| 	{ | ||||
| 		qse_awk_mod_data_t md; | ||||
| 		qse_awk_mod_load_t load; | ||||
| 		qse_awk_mod_spec_t spec; | ||||
| 		qse_awk_mod_data_t md; | ||||
| 		qse_char_t buf[64 + 15] = QSE_T("_qse_awk_mod_"); | ||||
| 		qse_size_t buflen; | ||||
|  | ||||
| 		if (segs[0].len > QSE_COUNTOF(buf) - 15) | ||||
| 		{ | ||||
| 			/* module name too long  */ | ||||
| 			ea.ptr = segs[0].ptr; | ||||
| 			ea.len = segs[0].len; | ||||
| 			qse_awk_seterror (awk, QSE_AWK_ESEGTL, &ea, QSE_NULL); | ||||
| 			return QSE_NULL; | ||||
| 		} | ||||
|  | ||||
| #if defined(QSE_ENABLE_STATIC_MODULE) | ||||
| 		/* TODO: binary search ... */ | ||||
| 		for (n = 0; n < QSE_COUNTOF(static_modtab); n++) | ||||
| 		{ | ||||
| 			if (qse_strcmp (static_modtab[n].modname, segs[0].ptr) == 0)  | ||||
| 			{ | ||||
| 				load = static_modtab[n].modload; | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		if (n >= QSE_COUNTOF(static_modtab)) | ||||
| 		{ | ||||
| 			ea.ptr = segs[0].ptr; | ||||
| 			ea.len = segs[0].len; | ||||
| 			qse_awk_seterror (awk, QSE_AWK_ENOENT, &ea, QSE_NULL); | ||||
| 			return QSE_NULL; | ||||
| 		} | ||||
|  | ||||
| 		QSE_MEMSET (&md, 0, QSE_SIZEOF(md)); | ||||
|  | ||||
| 		/* i copy-insert 'md' into the table before calling 'load'. | ||||
| 		 * to pass the same address to load(), query(), etc */ | ||||
| 		pair = qse_rbt_insert (awk->modtab, segs[0].ptr, segs[0].len, &md, QSE_SIZEOF(md)); | ||||
| 		if (pair == QSE_NULL) | ||||
| 		{ | ||||
| 			qse_awk_seterrnum (awk, QSE_AWK_ENOMEM, QSE_NULL); | ||||
| 			return QSE_NULL; | ||||
| 		} | ||||
|  | ||||
| 		mdp = (qse_awk_mod_data_t*)QSE_RBT_VPTR(pair); | ||||
| 		if (load (&mdp->mod, awk) <= -1) | ||||
| 		{ | ||||
| 			qse_rbt_delete (awk->modtab, segs[0].ptr, segs[0].len); | ||||
| 			return QSE_NULL; | ||||
| 		} | ||||
|  | ||||
| #else | ||||
|  | ||||
| 		QSE_MEMSET (&spec, 0, QSE_SIZEOF(spec)); | ||||
|  | ||||
| @ -6520,7 +6603,7 @@ static qse_awk_mod_t* query_module ( | ||||
| 		} | ||||
| 		else md.handle = QSE_NULL; | ||||
|  | ||||
| 		if (!md.handle)  | ||||
| 		if (md.handle == QSE_NULL)  | ||||
| 		{ | ||||
| 			ea.ptr = segs[0].ptr; | ||||
| 			ea.len = segs[0].len; | ||||
| @ -6528,17 +6611,23 @@ static qse_awk_mod_t* query_module ( | ||||
| 			return QSE_NULL; | ||||
| 		} | ||||
|  | ||||
| 		load = awk->prm.modsym (awk, md.handle, QSE_T("load")); | ||||
| 		buflen = qse_strcpy (&buf[13], segs[0].ptr); | ||||
| 		/* attempt qse_awk_mod_xxx */ | ||||
| 		load = awk->prm.modsym (awk, md.handle, &buf[1]); | ||||
| 		if (!load)  | ||||
| 		{ | ||||
| 			load = awk->prm.modsym (awk, md.handle, QSE_T("_load")); | ||||
| 			/* attempt _qse_awk_mod_xxx */ | ||||
| 			load = awk->prm.modsym (awk, md.handle, &buf[0]); | ||||
| 			if (!load) | ||||
| 			{ | ||||
| 				load = awk->prm.modsym (awk, md.handle, QSE_T("load_")); | ||||
| 				/* attempt qse_awk_mod_xxx_ */ | ||||
| 				buf[13 + buflen] = QSE_T('_'); | ||||
| 				buf[13 + buflen + 1] = QSE_T('\0'); | ||||
| 				load = awk->prm.modsym (awk, md.handle, &buf[1]); | ||||
| 				if (!load) | ||||
| 				{ | ||||
| 					ea.ptr = QSE_T("load"); | ||||
| 					ea.len = 4; | ||||
| 					ea.ptr = &buf[1]; | ||||
| 					ea.len = 4 + buflen; | ||||
| 					qse_awk_seterror (awk, QSE_AWK_ENOENT, &ea, QSE_NULL); | ||||
|  | ||||
| 					awk->prm.modclose (awk, md.handle); | ||||
| @ -6564,6 +6653,7 @@ static qse_awk_mod_t* query_module ( | ||||
| 			awk->prm.modclose (awk, mdp->handle); | ||||
| 			return QSE_NULL; | ||||
| 		} | ||||
| #endif | ||||
| 	} | ||||
|  | ||||
| 	n = mdp->mod.query (&mdp->mod, awk, segs[1].ptr, sym); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user