implemented static linking of awk modules
This commit is contained in:
parent
710a425fb7
commit
7aa63462f1
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user