From 33eac5f7fdd9d49d4b1d07468952d893e6b56adc Mon Sep 17 00:00:00 2001 From: Guenter Knauf Date: Wed, 11 Jul 2012 15:48:02 +0200 Subject: Changed NetWare build to generate export list. --- lib/Makefile.netware | 21 ++++++++++------- lib/libcurl.imp | 56 -------------------------------------------- packages/NetWare/get_exp.awk | 48 +++++++++++++++++++++++++++++++++++++ packages/NetWare/get_ver.awk | 2 +- 4 files changed, 62 insertions(+), 65 deletions(-) delete mode 100644 lib/libcurl.imp create mode 100755 packages/NetWare/get_exp.awk diff --git a/lib/Makefile.netware b/lib/Makefile.netware index 528a061d5..ca4a058e3 100644 --- a/lib/Makefile.netware +++ b/lib/Makefile.netware @@ -64,7 +64,8 @@ DESCR = cURL libcurl $(LIBCURL_VERSION_STR) ($(LIBARCH)) - http://curl.haxx.se MTSAFE = YES STACK = 64000 SCREEN = none -EXPORTS = @libcurl.imp +EXPORTF = $(OBJDIR)/libcurl.imp +EXPORTS = @$(EXPORTF) # Uncomment the next line to enable linking with POSIX semantics. # POSIXFL = 1 @@ -660,6 +661,10 @@ else @echo $(DL)#define CURL_CA_BUNDLE getenv("CURL_CA_BUNDLE")$(DL) >> $@ endif +$(EXPORTF): $(CURL_INC)/curl/curl.h $(CURL_INC)/curl/easy.h $(CURL_INC)/curl/multi.h $(CURL_INC)/curl/mprintf.h + @echo Creating $@ + @$(AWK) -f ../packages/NetWare/get_exp.awk $^ > $@ + FORCE: ; info: $(OBJDIR)/version.inc @@ -696,13 +701,6 @@ else @echo ipv6 support: no endif -$(LIBCARES_PATH)/libcares.$(LIBEXT): - $(MAKE) -C $(LIBCARES_PATH) -f Makefile.netware lib - -ca-bundle.crt: mk-ca-bundle.pl - @echo Creating $@ - @-$(PERL) $< -b -n $@ - $(CURL_INC)/curl/curlbuild.h: Makefile.netware FORCE @echo Creating $@ @echo $(DL)/* $@ intended for NetWare target.$(DL) > $@ @@ -741,3 +739,10 @@ endif @echo $(DL)typedef CURL_TYPEOF_CURL_OFF_T curl_off_t;$(DL) >> $@ @echo $(DL)#endif /* __CURL_CURLBUILD_H */$(DL) >> $@ +$(LIBCARES_PATH)/libcares.$(LIBEXT): + $(MAKE) -C $(LIBCARES_PATH) -f Makefile.netware lib + +ca-bundle.crt: mk-ca-bundle.pl + @echo Creating $@ + @-$(PERL) $< -b -n $@ + diff --git a/lib/libcurl.imp b/lib/libcurl.imp deleted file mode 100644 index f4cfddb38..000000000 --- a/lib/libcurl.imp +++ /dev/null @@ -1,56 +0,0 @@ -# -# Definition file for the NLM version of the LIBCURL library from curl -# -# (LIBCURL) - curl_easy_cleanup, - curl_easy_escape, - curl_easy_unescape, - curl_easy_getinfo, - curl_easy_init, - curl_easy_pause, - curl_easy_perform, - curl_easy_recv, - curl_easy_send, - curl_easy_setopt, - curl_escape, - curl_unescape, - curl_formfree, - curl_getdate, - curl_getenv, - curl_global_cleanup, - curl_global_init, - curl_slist_append, - curl_slist_free_all, - curl_version, - curl_maprintf, - curl_mfprintf, - curl_mprintf, - curl_msprintf, - curl_msnprintf, - curl_mvaprintf, - curl_mvfprintf, - curl_mvsnprintf, - curl_strequal, - curl_strnequal, - curl_easy_duphandle, - curl_formadd, - curl_multi_init, - curl_multi_add_handle, - curl_multi_remove_handle, - curl_multi_fdset, - curl_multi_perform, - curl_multi_cleanup, - curl_multi_info_read, - curl_multi_setopt, - curl_multi_timeout, - curl_free, - curl_version_info, - curl_share_init, - curl_share_setopt, - curl_share_cleanup, - curl_global_init_mem, - curl_easy_strerror, - curl_multi_strerror, - curl_share_strerror, - curl_easy_reset - diff --git a/packages/NetWare/get_exp.awk b/packages/NetWare/get_exp.awk new file mode 100755 index 000000000..153f5d241 --- /dev/null +++ b/packages/NetWare/get_exp.awk @@ -0,0 +1,48 @@ +# fetch exports from input header and write them to STDOUT +BEGIN { + add_symbol("curl_strequal") + add_symbol("curl_strnequal") +} + +function add_symbol(sym_name) { + sub(" ", "", sym_name) + exports[++idx] = sym_name +} + + +/^CURL_EXTERN .* [*]?curl_.*[(]/ { + sub("[(].*", "") + sub("^.* ", "") + sub("^[*]", "") + add_symbol($0) +} + +END { + printf("Added %d symbols to export list.\n", idx) > "/dev/stderr" + # sort symbols with shell sort + increment = int(idx / 2) + while (increment > 0) { + for (i = increment+1; i <= idx; i++) { + j = i + temp = exports[i] + while ((j >= increment+1) && (exports[j-increment] > temp)) { + exports[j] = exports[j-increment] + j -= increment + } + exports[j] = temp + } + if (increment == 2) + increment = 1 + else + increment = int(increment*5/11) + } + # print the array + if (EXPPREFIX) { + printf(" (%s)\n", EXPPREFIX) + } + while (x < idx - 1) { + printf(" %s,\n", exports[++x]) + } + printf(" %s\n", exports[++x]) +} + diff --git a/packages/NetWare/get_ver.awk b/packages/NetWare/get_ver.awk index 2f3b30814..1a3db80ca 100644 --- a/packages/NetWare/get_ver.awk +++ b/packages/NetWare/get_ver.awk @@ -21,7 +21,7 @@ # *************************************************************************** # awk script which fetches curl / ares version number and string from input # file and writes them to STDOUT. Here you can get an awk version for Win32: -# http://www.gknw.net/development/prgtools/awk-20070501.zip +# http://www.gknw.net/development/prgtools/awk-20100523.zip # BEGIN { if (match (ARGV[1], /curlver.h/)) { -- cgit v1.2.3