qse/qse/bld/qse.bkl

628 lines
17 KiB
XML

<?xml version="1.0" ?>
<makefile>
<set var="EOL_STYLE">unix</set>
<!-- =========================================================
OPTIONS
========================================================= -->
<option name="BUILD">
<values>debug,release</values>
<default-value>release</default-value>
</option>
<option name="CHAR">
<values>wchar,mchar</values>
<default-value>wchar</default-value>
</option>
<option name="SHARED">
<values>on,off</values>
<default-value>on</default-value>
</option>
<option name="XCMGRS">
<values>on,off</values>
<default-value>on</default-value>
</option>
<option name="BUNDLED_UNICODE">
<values>on,off</values>
<default-value>on</default-value>
</option>
<option name="TCPV40HDRS">
<!-- this is OS/2 specific. no effect on other platforms -->
<values>on,off</values>
<default-value>off</default-value>
</option>
<!-- =========================================================
AWK MODULE DATA
the values here must match QSE_AWK_DEFAULT_MODPREFIX and
QSE_AWK_DEFAULT_MODPOSTFIX in lib/awk/parse.c since we don't
redefine and pass them to the compiler.
========================================================= -->
<set var="AWKMODPREFIX">
<if cond="PLATFORM_WIN32=='1'">qseawk-</if>
<if cond="PLATFORM_OS2=='1'">awk-</if>
<if cond="PLATFORM_MSDOS=='1'">awk-</if>
<if cond="PLATFORM_UNIX=='1'">libqseawk-</if>
</set>
<set var="AWKMODPOSTFIX">
<if cond="PLATFORM_WIN32=='1'"></if>
<if cond="PLATFORM_OS2=='1'"></if>
<if cond="PLATFORM_MSDOS=='1'"></if>
<if cond="PLATFORM_UNIX=='1'"></if>
</set>
<set var="HTTPDMODPREFIX">
<if cond="PLATFORM_WIN32=='1'">qsehttpd-</if>
<if cond="PLATFORM_OS2=='1'">httpd-</if>
<if cond="PLATFORM_MSDOS=='1'">httpd-</if>
<if cond="PLATFORM_UNIX=='1'">libqsehttpd-</if>
</set>
<set var="HTTPDMODPOSTFIX">
<if cond="PLATFORM_WIN32=='1'"></if>
<if cond="PLATFORM_OS2=='1'"></if>
<if cond="PLATFORM_MSDOS=='1'"></if>
<if cond="PLATFORM_UNIX=='1'"></if>
</set>
<!-- =========================================================
Varibles to use as conditionals
========================================================= -->
<set var="ENABLE_DLL">
<if cond="SHARED=='on'">1</if>
<if cond="SHARED=='off'">0</if>
<if cond="PLATFORM_MSDOS=='1'">0</if>
</set>
<set var="ENABLE_STATIC_MODULE">
<if cond="SHARED=='on'">0</if>
<if cond="SHARED=='off'">1</if>
<if cond="PLATFORM_MSDOS=='1'">1</if>
</set>
<!-- =========================================================
BUILD DIRECTORY
========================================================= -->
<set var="BUILDDIR_BUILD">
<if cond="BUILD=='debug'">debug</if>
<if cond="BUILD=='release'">release</if>
</set>
<set var="BUILDDIR_CHAR">
<if cond="CHAR=='wchar'">wchar</if>
<if cond="CHAR=='mchar'">mchar</if>
</set>
<set var="BUILDDIR_SHARED">
<if cond="ENABLE_DLL=='1'">shared</if>
<if cond="ENABLE_DLL=='0'">static</if>
</set>
<set var="BUILDDIR_TCPV40HDRS">
<if cond="TCPV40HDRS=='on'">-tcpv40hdrs</if>
<if cond="TCPV40HDRS=='off'"></if>
</set>
<set var="BUILDDIR">
$(BUILDDIR_BUILD)-$(BUILDDIR_CHAR)-$(BUILDDIR_SHARED)$(BUILDDIR_TCPV40HDRS)
</set>
<!-- =========================================================
EXTRA CPPFLAGS
========================================================= -->
<set var="CPPFLAGS_BUILD">
<if cond="BUILD=='debug'">-DQSE_BUILD_DEBUG -DDEBUG -D_DEBUG</if>
<if cond="BUILD=='release'">-DNDEBUG</if>
</set>
<set var="CPPFLAGS_CHAR">
<if cond="CHAR=='wchar'">-DQSE_CHAR_IS_WCHAR=1</if>
<if cond="CHAR=='mchar'">-DQSE_CHAR_IS_MCHAR=1</if>
</set>
<set var="CPPFLAGS_XCMGRS">
<if cond="XCMGRS=='on'">-DQSE_ENABLE_XCMGRS=1</if>
<if cond="XCMGRS=='off'">-UQSE_ENABLE_XCMGRS</if>
</set>
<set var="CPPFLAGS_BUNDLED_UNICODE">
<if cond="BUNDLED_UNICODE=='on'">-DQSE_ENABLE_BUNDLED_UNICODE=1</if>
<if cond="BUNDLED_UNICODE=='off'">-UQSE_ENABLE_BUNDLED_UNICODE</if>
</set>
<set var="CPPFLAGS_STATIC_MODULE">
<if cond="ENABLE_STATIC_MODULE=='1'">-DQSE_ENABLE_STATIC_MODULE</if>
<if cond="ENABLE_STATIC_MODULE=='0'">-UQSE_ENABLE_STATIC_MODULE</if>
</set>
<set var="CPPFLAGS_TCPV40HDRS">
<if cond="TCPV40HDRS=='on'">-DTCPV40HDRS</if>
<if cond="TCPV40HDRS=='off'">-UTCPV40HDRS</if>
</set>
<set var="CPPFLAGS_EXTRA">
$(CPPFLAGS_BUILD)
$(CPPFLAGS_CHAR)
$(CPPFLAGS_XCMGRS)
$(CPPFLAGS_BUNDLED_UNICODE)
$(CPPFLAGS_STATIC_MODULE)
$(CPPFLAGS_TCPV40HDRS)
</set>
<!-- =========================================================
DEBUG INFORMATION
========================================================= -->
<set var="DEBUG_INFO">
<if cond="BUILD=='debug'">on</if>
<if cond="BUILD=='release'">off</if>
</set>
<!-- =========================================================
SOURCE FILES
========================================================= -->
<set var="SOURCES_XCMGRS">
<if cond="XCMGRS=='on'">cp949.c cp950.c</if>
</set>
<set var="SOURCES_BUNDLED_UNICODE">
<if cond="BUNDLED_UNICODE=='on'">uni.c</if>
</set>
<set var="SOURCES_LIBQSECMN">
alg-base64.c
alg-rand.c
alg-search.c
alg-sort.c
assert.c
chr.c
dir.c
dll.c
env.c
gdl.c
htb.c
fio.c
fma.c
fmt-intmax.c
fmt-out.c
fs.c
fs-delete.c
fs-err.c
fs-make.c
fs-move.c
glob.c
hton.c
ipad.c
lda.c
main.c
mb8.c
mbwc.c
mbwc-str.c
mem.c
mux.c
nwad.c
nwad-skad.c
nwif.c
nwif-cfg.c
nwio.c
oht.c
opt.c
path-base.c
path-canon.c
pio.c
pma.c
rbt.c
rex.c
sck.c
sio.c
sll.c
slmb.c
str-beg.c
str-cat.c
str-chr.c
str-cnv.c
str-cmp.c
str-cpy.c
str-del.c
str-dup.c
str-dyn.c
str-end.c
str-excl.c
str-fcpy.c
str-fmt.c
str-fnmat.c
str-incl.c
str-join.c
str-len.c
str-pac.c
str-pbrk.c
str-put.c
str-rev.c
str-rot.c
str-set.c
str-spl.c
str-spn.c
str-str.c
str-subst.c
str-tok.c
str-trm.c
str-word.c
task.c
time.c
tio.c
tmr.c
tre.c
tre-ast.c
tre-compile.c
tre-match-bt.c
tre-match-pa.c
tre-parse.c
tre-stack.c
uri.c
utf8.c
xma.c
$(SOURCES_XCMGRS)
$(SOURCES_BUNDLED_UNICODE)
</set>
<set var="SOURCES_STATIC_AWK_MODULE">
<if cond="ENABLE_STATIC_MODULE=='1'">mod-dir.c mod-math.c mod-sed.c mod-str.c mod-sys.c</if>
</set>
<set var="SOURCES_LIBQSEAWK">
awk.c
err.c
tree.c
parse.c
run.c
rec.c
val.c
fnc.c
misc.c
rio.c
std.c
$(SOURCES_STATIC_AWK_MODULE)
</set>
<set var="SOURCES_LIBQSESED">
sed.c
err.c
std.c
</set>
<set var="SOURCES_LIBQSEHTTP">
http.c
htre.c
htrd.c
httpd.c
httpd-cgi.c
httpd-dir.c
httpd-file.c
httpd-proxy.c
httpd-std.c
httpd-task.c
httpd-text.c
upxd.c
</set>
<set var="SOURCES_LIBQSEXLI">
xli.c
err.c
read.c
write.c
std.c
</set>
<set var="SOURCES_LIBQSECMNXX">
Mmgr.cpp
StdMmgr.cpp
</set>
<set var="SOURCES_LIBQSEAWKXX">
Awk.cpp
StdAwk.cpp
</set>
<set var="SOURCES_LIBQSESEDXX">
Sed.cpp
StdSed.cpp
</set>
<!-- =========================================================
CONDITIONAL SYSTEM LIBRARIES
========================================================= -->
<set var="SYSLIB_1">
<if cond="PLATFORM_WIN32=='1'">kernel32</if>
</set>
<set var="SYSLIB_2">
<if cond="PLATFORM_WIN32=='1'">user32</if>
</set>
<set var="SYSLIB_SOCKET">
<if cond="PLATFORM_MSDOS=='1'">wattcpwf</if> <!-- watt-32 flat model -->
<if cond="PLATFORM_WIN32=='1'">ws2_32</if>
<if cond="PLATFORM_OS2=='1' and TCPV40HDRS=='on'">tcp32dll</if>
<if cond="PLATFORM_OS2=='1' and TCPV40HDRS=='off'">tcpip32</if>
</set>
<set var="SYSLIB_SOCKET2">
<if cond="PLATFORM_OS2=='1' and TCPV40HDRS=='on'">so32dll</if>
</set>
<!-- =========================================================
EXTRA LIBRARY TO LINK
========================================================= -->
<set var="EXTLIB_FOR_QSEAWK">
<if cond="ENABLE_STATIC_MODULE=='1'">libqsesed</if>
</set>
<!-- =========================================================
TEMPLATES
========================================================= -->
<template id="base">
<include>../../include</include>
<cppflags>$(CPPFLAGS_EXTRA)</cppflags>
<warnings>max</warnings>
<debug-info>$(DEBUG_INFO)</debug-info>
<threading>multi</threading>
<optimize>speed</optimize>
</template>
<template id="basexx">
<cxx-exceptions>on</cxx-exceptions>
</template>
<!-- =========================================================
TARGETS
========================================================= -->
<dll id="dllqsecmn" template="base" cond="ENABLE_DLL=='1'">
<libname>qsecmn</libname>
<dllname>qsecmn</dllname>
<set-srcdir>../../lib/cmn</set-srcdir>
<sources>$(SOURCES_LIBQSECMN)</sources>
<sys-lib>$(SYSLIB_1)</sys-lib>
<sys-lib>$(SYSLIB_2)</sys-lib>
<sys-lib>$(SYSLIB_SOCKET)</sys-lib>
<sys-lib>$(SYSLIB_SOCKET2)</sys-lib>
</dll>
<lib id="libqsecmn" template="base" cond="ENABLE_DLL=='0'">
<libname>qsecmn</libname>
<set-srcdir>../../lib/cmn</set-srcdir>
<sources>$(SOURCES_LIBQSECMN)</sources>
<sys-lib>$(SYSLIB_1)</sys-lib>
<sys-lib>$(SYSLIB_2)</sys-lib>
<sys-lib>$(SYSLIB_SOCKET)</sys-lib>
<sys-lib>$(SYSLIB_SOCKET2)</sys-lib>
</lib>
<dll id="dllqsesed" template="base" cond="ENABLE_DLL=='1'">
<libname>qsesed</libname>
<dllname>qsesed</dllname>
<set-srcdir>../../lib/sed</set-srcdir>
<sources>$(SOURCES_LIBQSESED)</sources>
<library>libqsecmn</library>
<depends>dllqsecmn</depends>
</dll>
<lib id="libqsesed" template="base" cond="ENABLE_DLL=='0'">
<libname>qsesed</libname>
<set-srcdir>../../lib/sed</set-srcdir>
<sources>$(SOURCES_LIBQSESED)</sources>
<library>libqsecmn</library>
<depends>libqsecmn</depends>
</lib>
<dll id="dllqseawk" template="base" cond="ENABLE_DLL=='1'">
<libname>qseawk</libname>
<dllname>qseawk</dllname>
<set-srcdir>../../lib/awk</set-srcdir>
<sources>$(SOURCES_LIBQSEAWK)</sources>
<library>libqsecmn</library>
<depends>dllqsecmn</depends>
<sys-lib>$(SYSLIB_1)</sys-lib>
<sys-lib>$(SYSLIB_2)</sys-lib>
</dll>
<lib id="libqseawk" template="base" cond="ENABLE_DLL=='0'">
<libname>qseawk</libname>
<set-srcdir>../../lib/awk</set-srcdir>
<sources>$(SOURCES_LIBQSEAWK)</sources>
<depends>libqsecmn</depends>
</lib>
<dll id="modqseawkdir" template="base" cond="ENABLE_STATIC_MODULE=='0'">
<dllname>$(AWKMODPREFIX)dir$(AWKMODPOSTFIX)</dllname>
<libname>$(AWKMODPREFIX)dir$(AWKMODPOSTFIX)</libname>
<set-srcdir>../../lib/awk</set-srcdir>
<sources>mod-dir.c</sources>
<library>libqsecmn</library>
<library>libqseawk</library>
<depends>dllqseawk</depends>
</dll>
<dll id="modqseawkmath" template="base" cond="ENABLE_STATIC_MODULE=='0'">
<dllname>$(AWKMODPREFIX)math$(AWKMODPOSTFIX)</dllname>
<libname>$(AWKMODPREFIX)math$(AWKMODPOSTFIX)</libname>
<set-srcdir>../../lib/awk</set-srcdir>
<sources>mod-math.c</sources>
<library>libqsecmn</library>
<library>libqseawk</library>
<depends>dllqseawk</depends>
</dll>
<dll id="modqseawksed" template="base" cond="ENABLE_STATIC_MODULE=='0'">
<dllname>$(AWKMODPREFIX)sed$(AWKMODPOSTFIX)</dllname>
<libname>$(AWKMODPREFIX)sed$(AWKMODPOSTFIX)</libname>
<set-srcdir>../../lib/awk</set-srcdir>
<sources>mod-sed.c</sources>
<library>libqsecmn</library>
<library>libqseawk</library>
<library>libqsesed</library>
<depends>dllqseawk</depends>
<depends>dllqsesed</depends>
</dll>
<dll id="modqseawkstr" template="base" cond="ENABLE_STATIC_MODULE=='0'">
<dllname>$(AWKMODPREFIX)str$(AWKMODPOSTFIX)</dllname>
<libname>$(AWKMODPREFIX)str$(AWKMODPOSTFIX)</libname>
<set-srcdir>../../lib/awk</set-srcdir>
<sources>mod-str.c</sources>
<library>libqsecmn</library>
<library>libqseawk</library>
<depends>dllqseawk</depends>
</dll>
<dll id="modqseawksys" template="base" cond="ENABLE_STATIC_MODULE=='0'">
<dllname>$(AWKMODPREFIX)sys$(AWKMODPOSTFIX)</dllname>
<libname>$(AWKMODPREFIX)sys$(AWKMODPOSTFIX)</libname>
<set-srcdir>../../lib/awk</set-srcdir>
<sources>mod-sys.c</sources>
<library>libqsecmn</library>
<library>libqseawk</library>
<depends>dllqseawk</depends>
<sys-lib>$(SYSLIB_1)</sys-lib>
<sys-lib>$(SYSLIB_2)</sys-lib>
</dll>
<dll id="dllqsehttp" template="base" cond="ENABLE_DLL=='1'">
<libname>qsehttp</libname>
<dllname>qsehttp</dllname>
<set-srcdir>../../lib/http</set-srcdir>
<sources>$(SOURCES_LIBQSEHTTP)</sources>
<library>libqsecmn</library>
<depends>dllqsecmn</depends>
<sys-lib>$(SYSLIB_1)</sys-lib>
<sys-lib>$(SYSLIB_2)</sys-lib>
<sys-lib>$(SYSLIB_SOCKET)</sys-lib>
<sys-lib>$(SYSLIB_SOCKET2)</sys-lib>
</dll>
<lib id="libqsehttp" template="base" cond="ENABLE_DLL=='0'">
<libname>qsehttp</libname>
<set-srcdir>../../lib/http</set-srcdir>
<sources>$(SOURCES_LIBQSEHTTP)</sources>
<library>libqsecmn</library>
<depends>libqsecmn</depends>
<sys-lib>$(SYSLIB_1)</sys-lib>
<sys-lib>$(SYSLIB_2)</sys-lib>
<sys-lib>$(SYSLIB_SOCKET)</sys-lib>
<sys-lib>$(SYSLIB_SOCKET2)</sys-lib>
</lib>
<dll id="dllqsexli" template="base" cond="ENABLE_DLL=='1'">
<libname>qsexli</libname>
<dllname>qsexli</dllname>
<set-srcdir>../../lib/xli</set-srcdir>
<sources>$(SOURCES_LIBQSEXLI)</sources>
<library>libqsecmn</library>
<depends>dllqsecmn</depends>
</dll>
<lib id="libqsexli" template="base" cond="ENABLE_DLL=='0'">
<libname>qsexli</libname>
<set-srcdir>../../lib/xli</set-srcdir>
<sources>$(SOURCES_LIBQSEXLI)</sources>
<library>libqsecmn</library>
<depends>libqsecmn</depends>
</lib>
<exe id="exeqseawk" template="base">
<exename>qseawk</exename>
<app-type>console</app-type>
<set-srcdir>../../cmd/awk</set-srcdir>
<sources>awk.c</sources>
<library>libqsecmn</library>
<library>libqseawk</library>
<!-- <depends>libqseawk</depends> -->
<library>$(EXTLIB_FOR_QSEAWK)</library>
<sys-lib>$(SYSLIB_1)</sys-lib>
<sys-lib>$(SYSLIB_2)</sys-lib>
<sys-lib>$(SYSLIB_SOCKET)</sys-lib>
<sys-lib>$(SYSLIB_SOCKET2)</sys-lib>
</exe>
<exe id="exeqsesed" template="base">
<exename>qsesed</exename>
<app-type>console</app-type>
<set-srcdir>../../cmd/sed</set-srcdir>
<sources>sed.c</sources>
<library>libqsecmn</library>
<library>libqsesed</library>
<!-- <depends>libqsesed</depends> -->
</exe>
<exe id="exeqsehttpd" template="base">
<exename>qsehttpd</exename>
<app-type>console</app-type>
<set-srcdir>../../cmd/http</set-srcdir>
<sources>httpd.c</sources>
<library>libqsecmn</library>
<library>libqsehttp</library>
<!-- <depends>libqsehttp</depends> -->
<library>libqsexli</library>
<sys-lib>$(SYSLIB_1)</sys-lib>
<sys-lib>$(SYSLIB_2)</sys-lib>
<sys-lib>$(SYSLIB_SOCKET)</sys-lib>
<sys-lib>$(SYSLIB_SOCKET2)</sys-lib>
</exe>
<exe id="exeqsexli" template="base">
<exename>qsexli</exename>
<app-type>console</app-type>
<set-srcdir>../../cmd/xli</set-srcdir>
<sources>xli.c</sources>
<library>libqsecmn</library>
<library>libqsexli</library>
<!-- <depends>libqsexli</depends> -->
</exe>
<dll id="dllqsecmnxx" template="base,basexx" cond="ENABLE_DLL=='1'">
<libname>qsecmnxx</libname>
<dllname>qsecmnxx</dllname>
<set-srcdir>../../lib/cmn</set-srcdir>
<sources>$(SOURCES_LIBQSECMNXX)</sources>
<library>libqsecmn</library>
<depends>dllqsecmn</depends>
</dll>
<lib id="libqsecmnxx" template="base,basexx" cond="ENABLE_DLL=='0'">
<libname>qsecmnxx</libname>
<set-srcdir>../../lib/cmn</set-srcdir>
<sources>$(SOURCES_LIBQSECMNXX)</sources>
<library>libqsecmn</library>
<depends>libqsecmn</depends>
</lib>
<dll id="dllqseawkxx" template="base,basexx" cond="ENABLE_DLL=='1'">
<libname>qseawkxx</libname>
<dllname>qseawkxx</dllname>
<set-srcdir>../../lib/awk</set-srcdir>
<sources>$(SOURCES_LIBQSEAWKXX)</sources>
<library>libqsecmn</library>
<library>libqsecmnxx</library>
<library>libqseawk</library>
<depends>dllqsecmnxx</depends>
<depends>dllqseawk</depends>
</dll>
<lib id="libqseawkxx" template="base,basexx" cond="ENABLE_DLL=='0'">
<libname>qseawkxx</libname>
<set-srcdir>../../lib/awk</set-srcdir>
<sources>$(SOURCES_LIBQSEAWKXX)</sources>
<library>libqsecmn</library>
<library>libqsecmnxx</library>
<library>libqseawk</library>
<depends>libqsecmnxx</depends>
<depends>libqseawk</depends>
</lib>
<dll id="dllqsesedxx" template="base,basexx" cond="ENABLE_DLL=='1'">
<libname>qsesedxx</libname>
<dllname>qsesedxx</dllname>
<set-srcdir>../../lib/sed</set-srcdir>
<sources>$(SOURCES_LIBQSESEDXX)</sources>
<library>libqsecmn</library>
<library>libqsecmnxx</library>
<library>libqsesed</library>
<depends>dllqsecmnxx</depends>
<depends>dllqsesed</depends>
</dll>
<lib id="libqsesedxx" template="base,basexx" cond="ENABLE_DLL=='0'">
<libname>qsesedxx</libname>
<set-srcdir>../../lib/sed</set-srcdir>
<sources>$(SOURCES_LIBQSESEDXX)</sources>
<library>libqsecmn</library>
<library>libqsecmnxx</library>
<library>libqsesed</library>
<depends>libqsecmnxx</depends>
<depends>libqsesed</depends>
</lib>
</makefile>