implemented static linking of awk modules

This commit is contained in:
hyung-hwan 2013-02-01 14:30:25 +00:00
parent 710a425fb7
commit 7aa63462f1
23 changed files with 530 additions and 116 deletions

View File

@ -7,7 +7,7 @@ AM_CPPFLAGS = \
if WIN32 if WIN32
# you must adjust the value of DEFAULT_MODPOSTFIX according to # 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\" AM_CPPFLAGS += -DDEFAULT_MODPREFIX=\"libqseawk-\" -DDEFAULT_MODPOSTFIX=\"-1\"
else else
AM_CPPFLAGS += -DDEFAULT_MODPREFIX=\"$(libdir)/libqseawk-\" -DDEFAULT_MODPOSTFIX=\"\" AM_CPPFLAGS += -DDEFAULT_MODPREFIX=\"$(libdir)/libqseawk-\" -DDEFAULT_MODPOSTFIX=\"\"

View File

@ -36,7 +36,7 @@ build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
# you must adjust the value of DEFAULT_MODPOSTFIX according to # 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_TRUE@am__append_1 = -DDEFAULT_MODPREFIX=\"libqseawk-\" -DDEFAULT_MODPOSTFIX=\"-1\"
@WIN32_FALSE@am__append_2 = -DDEFAULT_MODPREFIX=\"$(libdir)/libqseawk-\" -DDEFAULT_MODPOSTFIX=\"\" @WIN32_FALSE@am__append_2 = -DDEFAULT_MODPREFIX=\"$(libdir)/libqseawk-\" -DDEFAULT_MODPOSTFIX=\"\"
bin_PROGRAMS = qseawk$(EXEEXT) bin_PROGRAMS = qseawk$(EXEEXT)

View File

@ -1179,8 +1179,8 @@ static void open_mpi (mpi_t* mpi, int argc, qse_achar_t* argv[])
if (mpi->h) if (mpi->h)
{ {
mpi->i = lt_dlsym (mpi->h, "mpi_init"); mpi->i = lt_dlsym (mpi->h, "qse_awk_mod_mpi_init");
mpi->f = lt_dlsym (mpi->h, "mpi_fini"); mpi->f = lt_dlsym (mpi->h, "qse_awk_mod_mpi_fini");
if (mpi->i == QSE_NULL || if (mpi->i == QSE_NULL ||
mpi->f == QSE_NULL || mpi->f == QSE_NULL ||

26
qse/configure vendored
View File

@ -636,6 +636,8 @@ QSE_SIZEOF_INT
QSE_SIZEOF_LONG QSE_SIZEOF_LONG
QSE_SIZEOF_LONG_LONG QSE_SIZEOF_LONG_LONG
QSE_SIZEOF_WCHAR_T QSE_SIZEOF_WCHAR_T
ENABLE_STATIC_MODULE_FALSE
ENABLE_STATIC_MODULE_TRUE
PTHREAD_CFLAGS PTHREAD_CFLAGS
PTHREAD_LIBS PTHREAD_LIBS
PTHREAD_CC PTHREAD_CC
@ -20257,11 +20259,14 @@ else
fi fi
if test "${ac_cv_header_wctype_h}" = "no" -o "${ac_cv_func_wctrans}" = "no" -o "${ac_cv_func_wctype}" = "no" 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 then
$as_echo "#define QSE_ENABLE_BUNDLED_UNICODE /**/" >>confdefs.h $as_echo "#define QSE_ENABLE_BUNDLED_UNICODE /**/" >>confdefs.h
enable_bundled_unicode_is=yes
fi fi
if test "${enable_bundled_unicode_is}" = "yes"; then if test "${enable_bundled_unicode_is}" = "yes"; then
ENABLE_BUNDLED_UNICODE_TRUE= ENABLE_BUNDLED_UNICODE_TRUE=
@ -20796,6 +20801,21 @@ $as_echo "no" >&6; }
fi fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext 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_WCHAR_T=$ac_cv_sizeof_wchar_t
QSE_SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long 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. as_fn_error $? "conditional \"ENABLE_CXX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5 Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi 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}" : "${CONFIG_STATUS=./config.status}"
ac_write_fail=0 ac_write_fail=0

View File

@ -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) 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" if test "${ac_cv_header_wctype_h}" = "no" -o "${ac_cv_func_wctrans}" = "no" -o "${ac_cv_func_wctype}" = "no"
then 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 enable_bundled_unicode_is=yes
fi 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") 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)])], 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)] [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_WCHAR_T, $ac_cv_sizeof_wchar_t)
AC_SUBST(QSE_SIZEOF_LONG_LONG, $ac_cv_sizeof_long_long) AC_SUBST(QSE_SIZEOF_LONG_LONG, $ac_cv_sizeof_long_long)
AC_SUBST(QSE_SIZEOF_LONG, $ac_cv_sizeof_long) AC_SUBST(QSE_SIZEOF_LONG, $ac_cv_sizeof_long)

View File

@ -1189,7 +1189,8 @@ enum qse_awk_errnum_t
QSE_AWK_EGBLTM, /**< too many global variables */ QSE_AWK_EGBLTM, /**< too many global variables */
QSE_AWK_ELCLTM, /**< too many local variables */ QSE_AWK_ELCLTM, /**< too many local variables */
QSE_AWK_EPARTM, /**< too many parameters */ 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_EBADARG, /**< bad argument */
QSE_AWK_ENOARG, /**< no argument */ QSE_AWK_ENOARG, /**< no argument */
QSE_AWK_EBREAK, /**< 'break' outside a loop */ QSE_AWK_EBREAK, /**< 'break' outside a loop */

View File

@ -112,4 +112,7 @@
# error Define the size of various data types. # error Define the size of various data types.
#endif #endif
/* well, supporting dynamic modules in DOS is nearly impossible */
#define QSE_ENABLE_STATIC_MODULE 1
#include <qse/conf-inf.h> #include <qse/conf-inf.h>

View File

@ -637,6 +637,9 @@
/* enable qse_sed_setexectracer() */ /* enable qse_sed_setexectracer() */
#undef QSE_ENABLE_SEDTRACER #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 */ /* include more built-in cmgrs like cp949 and cp950 */
#undef QSE_ENABLE_XCMGRS #undef QSE_ENABLE_XCMGRS

View File

@ -16,8 +16,8 @@ LDFLAGS_LIB_COMMON = $(LDFLAGS_ALL_COMMON)
LIBADD_LIB_COMMON = -lqsecmn $(LIBM) $(LIBLTDL) LIBADD_LIB_COMMON = -lqsecmn $(LIBM) $(LIBLTDL)
if WIN32 if WIN32
# you must adjust the value of DEFAULT_MODPOSTFIX according to # you must adjust the value of DEFAULT_MODPOSTFIX according
# -version-info in mod/awk/Makefile.am # to the first number in -version-info above
CPPFLAGS_LIB_COMMON += -DQSE_AWK_DEFAULT_MODPREFIX=\"libqseawk-\" -DQSE_AWK_DEFAULT_MODPOSTFIX=\"-1\" CPPFLAGS_LIB_COMMON += -DQSE_AWK_DEFAULT_MODPREFIX=\"libqseawk-\" -DQSE_AWK_DEFAULT_MODPOSTFIX=\"-1\"
else else
CPPFLAGS_LIB_COMMON += -DQSE_AWK_DEFAULT_MODPREFIX=\"$(libdir)/libqseawk-\" -DQSE_AWK_DEFAULT_MODPOSTFIX=\"\" 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) libqseawkxx_la_LIBADD = -lqseawk -lqsecmnxx $(LIBADD_LIB_COMMON)
endif 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) CPPFLAGS_MOD_COMMON = $(CPPFLAGS_ALL_COMMON)
@ -48,26 +70,26 @@ LIBADD_MOD_COMMON = -lqseawk -lqsecmn
moddir = $(libdir) moddir = $(libdir)
mod_LTLIBRARIES = libqseawk-dir.la 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_CPPFLAGS = $(CPPFLAGS_MOD_COMMON)
libqseawk_dir_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) libqseawk_dir_la_LDFLAGS = $(LDFLAGS_MOD_COMMON)
libqseawk_dir_la_LIBADD = $(LIBADD_MOD_COMMON) libqseawk_dir_la_LIBADD = $(LIBADD_MOD_COMMON)
mod_LTLIBRARIES += libqseawk-str.la 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_CPPFLAGS = $(CPPFLAGS_MOD_COMMON)
libqseawk_str_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) libqseawk_str_la_LDFLAGS = $(LDFLAGS_MOD_COMMON)
libqseawk_str_la_LIBADD = $(LIBADD_MOD_COMMON) libqseawk_str_la_LIBADD = $(LIBADD_MOD_COMMON)
mod_LTLIBRARIES += libqseawk-sys.la 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_CPPFLAGS = $(CPPFLAGS_MOD_COMMON)
libqseawk_sys_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) libqseawk_sys_la_LDFLAGS = $(LDFLAGS_MOD_COMMON)
libqseawk_sys_la_LIBADD = $(LIBADD_MOD_COMMON) libqseawk_sys_la_LIBADD = $(LIBADD_MOD_COMMON)
if HAVE_C_MPI if HAVE_C_MPI
mod_LTLIBRARIES += libqseawk-mpi.la 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_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) $(MPI_CFLAGS)
libqseawk_mpi_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) $(MPI_CLDFLAGS) libqseawk_mpi_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) $(MPI_CLDFLAGS)
libqseawk_mpi_la_LIBADD = $(LIBADD_MOD_COMMON) libqseawk_mpi_la_LIBADD = $(LIBADD_MOD_COMMON)
@ -75,10 +97,10 @@ endif
if HAVE_LIBUCI if HAVE_LIBUCI
mod_LTLIBRARIES += libqseawk-uci.la 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_CPPFLAGS = $(CPPFLAGS_MOD_COMMON)
libqseawk_uci_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) libqseawk_uci_la_LDFLAGS = $(LDFLAGS_MOD_COMMON)
libqseawk_uci_la_LIBADD = $(LIBADD_MOD_COMMON) $(UCI_LIBS) libqseawk_uci_la_LIBADD = $(LIBADD_MOD_COMMON) $(UCI_LIBS)
endif endif
endif

View File

@ -35,13 +35,27 @@ POST_UNINSTALL = :
build_triplet = @build@ build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
# you must adjust the value of DEFAULT_MODPOSTFIX according to # you must adjust the value of DEFAULT_MODPOSTFIX according
# -version-info in mod/awk/Makefile.am # to the first number in -version-info above
@WIN32_TRUE@am__append_1 = -DQSE_AWK_DEFAULT_MODPREFIX=\"libqseawk-\" -DQSE_AWK_DEFAULT_MODPOSTFIX=\"-1\" @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=\"\" @WIN32_FALSE@am__append_2 = -DQSE_AWK_DEFAULT_MODPREFIX=\"$(libdir)/libqseawk-\" -DQSE_AWK_DEFAULT_MODPOSTFIX=\"\"
@ENABLE_CXX_TRUE@am__append_3 = libqseawkxx.la @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 subdir = lib/awk
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@ -87,50 +101,77 @@ am__uninstall_files_from_dir = { \
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(moddir)" am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(moddir)"
LTLIBRARIES = $(lib_LTLIBRARIES) $(mod_LTLIBRARIES) LTLIBRARIES = $(lib_LTLIBRARIES) $(mod_LTLIBRARIES)
am__DEPENDENCIES_1 = am__DEPENDENCIES_1 =
libqseawk_dir_la_DEPENDENCIES = $(am__DEPENDENCIES_1) @ENABLE_STATIC_MODULE_FALSE@libqseawk_dir_la_DEPENDENCIES = \
am_libqseawk_dir_la_OBJECTS = libqseawk_dir_la-mod-dir.lo @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_OBJECTS = $(am_libqseawk_dir_la_OBJECTS)
libqseawk_dir_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ libqseawk_dir_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libqseawk_dir_la_LDFLAGS) $(LDFLAGS) -o $@ $(libqseawk_dir_la_LDFLAGS) $(LDFLAGS) -o $@
@HAVE_C_MPI_TRUE@libqseawk_mpi_la_DEPENDENCIES = \ @ENABLE_STATIC_MODULE_FALSE@am_libqseawk_dir_la_rpath = -rpath \
@HAVE_C_MPI_TRUE@ $(am__DEPENDENCIES_1) @ENABLE_STATIC_MODULE_FALSE@ $(moddir)
am__libqseawk_mpi_la_SOURCES_DIST = mod-mpi.c @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@libqseawk_mpi_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
@HAVE_C_MPI_TRUE@am_libqseawk_mpi_la_OBJECTS = \ am__libqseawk_mpi_la_SOURCES_DIST = mod-mpi.c mod-mpi.h
@HAVE_C_MPI_TRUE@ libqseawk_mpi_la-mod-mpi.lo @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_OBJECTS = $(am_libqseawk_mpi_la_OBJECTS)
libqseawk_mpi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ libqseawk_mpi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libqseawk_mpi_la_LDFLAGS) $(LDFLAGS) -o $@ $(libqseawk_mpi_la_LDFLAGS) $(LDFLAGS) -o $@
@HAVE_C_MPI_TRUE@am_libqseawk_mpi_la_rpath = -rpath $(moddir) @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@am_libqseawk_mpi_la_rpath = \
libqseawk_str_la_DEPENDENCIES = $(am__DEPENDENCIES_1) @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@ -rpath $(moddir)
am_libqseawk_str_la_OBJECTS = libqseawk_str_la-mod-str.lo @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_OBJECTS = $(am_libqseawk_str_la_OBJECTS)
libqseawk_str_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ libqseawk_str_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libqseawk_str_la_LDFLAGS) $(LDFLAGS) -o $@ $(libqseawk_str_la_LDFLAGS) $(LDFLAGS) -o $@
libqseawk_sys_la_DEPENDENCIES = $(am__DEPENDENCIES_1) @ENABLE_STATIC_MODULE_FALSE@am_libqseawk_str_la_rpath = -rpath \
am_libqseawk_sys_la_OBJECTS = libqseawk_sys_la-mod-sys.lo @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_OBJECTS = $(am_libqseawk_sys_la_OBJECTS)
libqseawk_sys_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ libqseawk_sys_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libqseawk_sys_la_LDFLAGS) $(LDFLAGS) -o $@ $(libqseawk_sys_la_LDFLAGS) $(LDFLAGS) -o $@
@HAVE_LIBUCI_TRUE@libqseawk_uci_la_DEPENDENCIES = \ @ENABLE_STATIC_MODULE_FALSE@am_libqseawk_sys_la_rpath = -rpath \
@HAVE_LIBUCI_TRUE@ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) @ENABLE_STATIC_MODULE_FALSE@ $(moddir)
am__libqseawk_uci_la_SOURCES_DIST = mod-uci.c @ENABLE_STATIC_MODULE_FALSE@@HAVE_LIBUCI_TRUE@libqseawk_uci_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
@HAVE_LIBUCI_TRUE@am_libqseawk_uci_la_OBJECTS = \ @ENABLE_STATIC_MODULE_FALSE@@HAVE_LIBUCI_TRUE@ $(am__DEPENDENCIES_1)
@HAVE_LIBUCI_TRUE@ libqseawk_uci_la-mod-uci.lo 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_OBJECTS = $(am_libqseawk_uci_la_OBJECTS)
libqseawk_uci_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ libqseawk_uci_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libqseawk_uci_la_LDFLAGS) $(LDFLAGS) -o $@ $(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) 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 \ 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-tree.lo libqseawk_la-parse.lo libqseawk_la-run.lo \
libqseawk_la-rec.lo libqseawk_la-val.lo libqseawk_la-fnc.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_OBJECTS = $(am_libqseawk_la_OBJECTS)
libqseawk_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ libqseawk_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(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_str_la_SOURCES) $(libqseawk_sys_la_SOURCES) \
$(libqseawk_uci_la_SOURCES) $(libqseawk_la_SOURCES) \ $(libqseawk_uci_la_SOURCES) $(libqseawk_la_SOURCES) \
$(libqseawkxx_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) \ $(am__libqseawk_mpi_la_SOURCES_DIST) \
$(libqseawk_str_la_SOURCES) $(libqseawk_sys_la_SOURCES) \ $(am__libqseawk_str_la_SOURCES_DIST) \
$(am__libqseawk_uci_la_SOURCES_DIST) $(libqseawk_la_SOURCES) \ $(am__libqseawk_sys_la_SOURCES_DIST) \
$(am__libqseawk_uci_la_SOURCES_DIST) \
$(am__libqseawk_la_SOURCES_DIST) \
$(am__libqseawkxx_la_SOURCES_DIST) $(am__libqseawkxx_la_SOURCES_DIST)
ETAGS = etags ETAGS = etags
CTAGS = ctags CTAGS = ctags
@ -367,44 +410,48 @@ CPPFLAGS_LIB_COMMON = $(CPPFLAGS_ALL_COMMON) $(LTDLINCL) \
LDFLAGS_LIB_COMMON = $(LDFLAGS_ALL_COMMON) LDFLAGS_LIB_COMMON = $(LDFLAGS_ALL_COMMON)
LIBADD_LIB_COMMON = -lqsecmn $(LIBM) $(LIBLTDL) LIBADD_LIB_COMMON = -lqsecmn $(LIBM) $(LIBLTDL)
lib_LTLIBRARIES = libqseawk.la $(am__append_3) 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_SOURCES = awk.c err.c tree.c parse.c run.c rec.c val.c \
libqseawk_la_CPPFLAGS = $(CPPFLAGS_LIB_COMMON) fnc.c misc.c rio.c std.c awk.h err.h rio.h val.h fnc.h misc.h \
libqseawk_la_LDFLAGS = $(LDFLAGS_LIB_COMMON) parse.h run.h tree.h $(am__append_4) $(am__append_5) \
libqseawk_la_LIBADD = $(LIBADD_LIB_COMMON) $(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_SOURCES = Awk.cpp StdAwk.cpp
@ENABLE_CXX_TRUE@libqseawkxx_la_CPPFLAGS = $(CPPFLAGS_LIB_COMMON) @ENABLE_CXX_TRUE@libqseawkxx_la_CPPFLAGS = $(CPPFLAGS_LIB_COMMON)
@ENABLE_CXX_TRUE@libqseawkxx_la_LDFLAGS = $(LDFLAGS_LIB_COMMON) @ENABLE_CXX_TRUE@libqseawkxx_la_LDFLAGS = $(LDFLAGS_LIB_COMMON)
@ENABLE_CXX_TRUE@libqseawkxx_la_LIBADD = -lqseawk -lqsecmnxx $(LIBADD_LIB_COMMON) @ENABLE_CXX_TRUE@libqseawkxx_la_LIBADD = -lqseawk -lqsecmnxx $(LIBADD_LIB_COMMON)
################################################## ##################################################
# MODULES # DYNAMIC MODULES
################################################## ##################################################
CPPFLAGS_MOD_COMMON = $(CPPFLAGS_ALL_COMMON) @ENABLE_STATIC_MODULE_FALSE@CPPFLAGS_MOD_COMMON = $(CPPFLAGS_ALL_COMMON)
LDFLAGS_MOD_COMMON = $(LDFLAGS_ALL_COMMON) @ENABLE_STATIC_MODULE_FALSE@LDFLAGS_MOD_COMMON = $(LDFLAGS_ALL_COMMON)
LIBADD_MOD_COMMON = -lqseawk -lqsecmn @ENABLE_STATIC_MODULE_FALSE@LIBADD_MOD_COMMON = -lqseawk -lqsecmn
moddir = $(libdir) @ENABLE_STATIC_MODULE_FALSE@moddir = $(libdir)
mod_LTLIBRARIES = libqseawk-dir.la libqseawk-str.la libqseawk-sys.la \ @ENABLE_STATIC_MODULE_FALSE@mod_LTLIBRARIES = libqseawk-dir.la \
$(am__append_4) $(am__append_5) @ENABLE_STATIC_MODULE_FALSE@ libqseawk-str.la libqseawk-sys.la \
libqseawk_dir_la_SOURCES = mod-dir.c @ENABLE_STATIC_MODULE_FALSE@ $(am__append_10) $(am__append_11)
libqseawk_dir_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) @ENABLE_STATIC_MODULE_FALSE@libqseawk_dir_la_SOURCES = mod-dir.c mod-dir.h
libqseawk_dir_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) @ENABLE_STATIC_MODULE_FALSE@libqseawk_dir_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON)
libqseawk_dir_la_LIBADD = $(LIBADD_MOD_COMMON) @ENABLE_STATIC_MODULE_FALSE@libqseawk_dir_la_LDFLAGS = $(LDFLAGS_MOD_COMMON)
libqseawk_str_la_SOURCES = mod-str.c @ENABLE_STATIC_MODULE_FALSE@libqseawk_dir_la_LIBADD = $(LIBADD_MOD_COMMON)
libqseawk_str_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) @ENABLE_STATIC_MODULE_FALSE@libqseawk_str_la_SOURCES = mod-str.c mod-str.h
libqseawk_str_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) @ENABLE_STATIC_MODULE_FALSE@libqseawk_str_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON)
libqseawk_str_la_LIBADD = $(LIBADD_MOD_COMMON) @ENABLE_STATIC_MODULE_FALSE@libqseawk_str_la_LDFLAGS = $(LDFLAGS_MOD_COMMON)
libqseawk_sys_la_SOURCES = mod-sys.c @ENABLE_STATIC_MODULE_FALSE@libqseawk_str_la_LIBADD = $(LIBADD_MOD_COMMON)
libqseawk_sys_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) @ENABLE_STATIC_MODULE_FALSE@libqseawk_sys_la_SOURCES = mod-sys.c mod-sys.h
libqseawk_sys_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) @ENABLE_STATIC_MODULE_FALSE@libqseawk_sys_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON)
libqseawk_sys_la_LIBADD = $(LIBADD_MOD_COMMON) @ENABLE_STATIC_MODULE_FALSE@libqseawk_sys_la_LDFLAGS = $(LDFLAGS_MOD_COMMON)
@HAVE_C_MPI_TRUE@libqseawk_mpi_la_SOURCES = mod-mpi.c @ENABLE_STATIC_MODULE_FALSE@libqseawk_sys_la_LIBADD = $(LIBADD_MOD_COMMON)
@HAVE_C_MPI_TRUE@libqseawk_mpi_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) $(MPI_CFLAGS) @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@libqseawk_mpi_la_SOURCES = mod-mpi.c mod-mpi.h
@HAVE_C_MPI_TRUE@libqseawk_mpi_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) $(MPI_CLDFLAGS) @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@libqseawk_mpi_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) $(MPI_CFLAGS)
@HAVE_C_MPI_TRUE@libqseawk_mpi_la_LIBADD = $(LIBADD_MOD_COMMON) @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@libqseawk_mpi_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) $(MPI_CLDFLAGS)
@HAVE_LIBUCI_TRUE@libqseawk_uci_la_SOURCES = mod-uci.c @ENABLE_STATIC_MODULE_FALSE@@HAVE_C_MPI_TRUE@libqseawk_mpi_la_LIBADD = $(LIBADD_MOD_COMMON)
@HAVE_LIBUCI_TRUE@libqseawk_uci_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON) @ENABLE_STATIC_MODULE_FALSE@@HAVE_LIBUCI_TRUE@libqseawk_uci_la_SOURCES = mod-uci.c mod-uci.h
@HAVE_LIBUCI_TRUE@libqseawk_uci_la_LDFLAGS = $(LDFLAGS_MOD_COMMON) @ENABLE_STATIC_MODULE_FALSE@@HAVE_LIBUCI_TRUE@libqseawk_uci_la_CPPFLAGS = $(CPPFLAGS_MOD_COMMON)
@HAVE_LIBUCI_TRUE@libqseawk_uci_la_LIBADD = $(LIBADD_MOD_COMMON) $(UCI_LIBS) @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 all: all-am
.SUFFIXES: .SUFFIXES:
@ -502,13 +549,13 @@ clean-modLTLIBRARIES:
rm -f "$${dir}/so_locations"; \ rm -f "$${dir}/so_locations"; \
done done
libqseawk-dir.la: $(libqseawk_dir_la_OBJECTS) $(libqseawk_dir_la_DEPENDENCIES) $(EXTRA_libqseawk_dir_la_DEPENDENCIES) 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: $(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_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: $(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: $(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: $(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_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) 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-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-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-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-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-rec.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libqseawk_la-rio.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@ @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 @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: .cpp.o:
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po

View File

@ -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); md = QSE_RBT_VPTR(pair);
if (md->mod.unload) md->mod.unload (&md->mod, awk); 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; return QSE_RBT_WALK_FORWARD;
} }

View File

@ -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 global variables"),
QSE_T("too many local variables"), QSE_T("too many local variables"),
QSE_T("too many parameters"), 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("bad argument"),
QSE_T("no argument provided"), QSE_T("no argument provided"),
QSE_T("'break' outside a loop"), QSE_T("'break' outside a loop"),

View File

@ -18,7 +18,7 @@
License along with QSE. If not, see <http://www.gnu.org/licenses/>. 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/str.h>
#include <qse/cmn/rbt.h> #include <qse/cmn/rbt.h>
#include <qse/cmn/dir.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_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; qse_rbt_t* rbt;
@ -601,8 +601,4 @@ QSE_EXPORT int load (qse_awk_mod_t* mod, qse_awk_t* awk)
return 0; 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
View 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

View File

@ -18,7 +18,7 @@
License along with QSE. If not, see <http://www.gnu.org/licenses/>. 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/str.h>
#include <qse/cmn/main.h> #include <qse/cmn/main.h>
@ -253,7 +253,7 @@ static void unload (qse_awk_mod_t* mod, qse_awk_t* awk)
/* TODO: anything */ /* 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->query = query;
mod->unload = unload; 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 * 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; int rx;
@ -290,7 +290,7 @@ QSE_EXPORT int mpi_init (int argc, qse_achar_t* argv[])
return rx; return rx;
} }
QSE_EXPORT void mpi_fini (void) QSE_EXPORT void qse_awk_mod_mpi_fini (void)
{ {
MPI_Finalize (); MPI_Finalize ();
} }

37
qse/lib/awk/mod-mpi.h Normal file
View 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

View File

@ -18,11 +18,11 @@
License along with QSE. If not, see <http://www.gnu.org/licenses/>. 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 <qse/cmn/str.h>
#include "../cmn/mem.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 /* normalize spaces
* - trim leading and trailing spaces * - trim leading and trailing spaces
@ -87,7 +87,7 @@ static fnctab_t fnctab[] =
{ {
/* keep this table sorted for binary search in query(). */ /* keep this table sorted for binary search in query(). */
{ QSE_T("ltrim"), { { 1, 1, QSE_NULL }, fnc_ltrim, 0 } }, { QSE_T("ltrim"), { { 1, 1, QSE_NULL }, fnc_ltrim, 0 } },
{ QSE_T("normspc"), { { 1, 1, QSE_NULL }, fnc_normspc, 0 } }, { QSE_T("normspace"), { { 1, 1, QSE_NULL }, fnc_normspace, 0 } },
{ QSE_T("rtrim"), { { 1, 1, QSE_NULL }, fnc_rtrim, 0 } }, { QSE_T("rtrim"), { { 1, 1, QSE_NULL }, fnc_rtrim, 0 } },
{ QSE_T("trim"), { { 1, 1, QSE_NULL }, fnc_trim, 0 } } { QSE_T("trim"), { { 1, 1, QSE_NULL }, fnc_trim, 0 } }
}; };
@ -158,7 +158,7 @@ static void unload (qse_awk_mod_t* mod, qse_awk_t* awk)
/* TODO: anything */ /* 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->query = query;
mod->unload = unload; mod->unload = unload;
@ -172,7 +172,3 @@ QSE_EXPORT int load (qse_awk_mod_t* mod, qse_awk_t* awk)
return 0; 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
View 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

View File

@ -18,7 +18,7 @@
License along with QSE. If not, see <http://www.gnu.org/licenses/>. 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/str.h>
#include <qse/cmn/time.h> #include <qse/cmn/time.h>
#include <qse/cmn/nwif.h> #include <qse/cmn/nwif.h>
@ -729,7 +729,7 @@ static void unload (qse_awk_mod_t* mod, qse_awk_t* awk)
/* TODO: anything */ /* 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->query = query;
mod->unload = unload; mod->unload = unload;
@ -743,7 +743,3 @@ QSE_EXPORT int load (qse_awk_mod_t* mod, qse_awk_t* awk)
return 0; 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
View 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

View File

@ -18,7 +18,7 @@
License along with QSE. If not, see <http://www.gnu.org/licenses/>. 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/str.h>
#include <qse/cmn/rbt.h> #include <qse/cmn/rbt.h>
#include <qse/cmn/mbwc.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_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; qse_rbt_t* rbt;

37
qse/lib/awk/mod-uci.h Normal file
View 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

View File

@ -6480,10 +6480,42 @@ int qse_awk_putsrcstrn (
return 0; 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 ( static qse_awk_mod_t* query_module (
qse_awk_t* awk, const qse_xstr_t segs[], int nsegs, qse_awk_t* awk, const qse_xstr_t segs[], int nsegs,
qse_awk_mod_sym_t* sym) qse_awk_mod_sym_t* sym)
{ {
qse_rbt_pair_t* pair; qse_rbt_pair_t* pair;
qse_awk_mod_data_t* mdp; qse_awk_mod_data_t* mdp;
qse_cstr_t ea; qse_cstr_t ea;
@ -6491,6 +6523,7 @@ static qse_awk_mod_t* query_module (
QSE_ASSERT (nsegs == 2); QSE_ASSERT (nsegs == 2);
pair = qse_rbt_search (awk->modtab, segs[0].ptr, segs[0].len); pair = qse_rbt_search (awk->modtab, segs[0].ptr, segs[0].len);
if (pair) if (pair)
{ {
@ -6498,9 +6531,59 @@ static qse_awk_mod_t* query_module (
} }
else else
{ {
qse_awk_mod_data_t md;
qse_awk_mod_load_t load; qse_awk_mod_load_t load;
qse_awk_mod_spec_t spec; 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)); QSE_MEMSET (&spec, 0, QSE_SIZEOF(spec));
@ -6520,7 +6603,7 @@ static qse_awk_mod_t* query_module (
} }
else md.handle = QSE_NULL; else md.handle = QSE_NULL;
if (!md.handle) if (md.handle == QSE_NULL)
{ {
ea.ptr = segs[0].ptr; ea.ptr = segs[0].ptr;
ea.len = segs[0].len; ea.len = segs[0].len;
@ -6528,17 +6611,23 @@ static qse_awk_mod_t* query_module (
return QSE_NULL; 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) 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) 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) if (!load)
{ {
ea.ptr = QSE_T("load"); ea.ptr = &buf[1];
ea.len = 4; ea.len = 4 + buflen;
qse_awk_seterror (awk, QSE_AWK_ENOENT, &ea, QSE_NULL); qse_awk_seterror (awk, QSE_AWK_ENOENT, &ea, QSE_NULL);
awk->prm.modclose (awk, md.handle); awk->prm.modclose (awk, md.handle);
@ -6564,6 +6653,7 @@ static qse_awk_mod_t* query_module (
awk->prm.modclose (awk, mdp->handle); awk->prm.modclose (awk, mdp->handle);
return QSE_NULL; return QSE_NULL;
} }
#endif
} }
n = mdp->mod.query (&mdp->mod, awk, segs[1].ptr, sym); n = mdp->mod.query (&mdp->mod, awk, segs[1].ptr, sym);