Hi,
I'm attempting to understand how the old dll's were created and how the
new ones are. That way, I can see the difference and explain the
situation clearly to a 3rd party.
However, if I download pcre-7.0 and do
$ ../pcre-7.0/configure --prefix=$PWD/../prefix --disable-static
--enable-shared
it only generates static libraries. Libtool complains that it has to.
The output of the make is attached.
How did anyone ever build a shared library on windows in the first
place?
Thanks,
Bob Rossi
gcc -c -g -O2 -I. ../pcre-7.0/dftables.c
/bin/sh ./libtool --mode=link gcc -g -O2 -I. -I../pcre-7.0 -o dftables.exe dftables.o
mkdir .libs
gcc -g -O2 -I. -I../pcre-7.0 -o dftables.exe dftables.o
./dftables.exe pcre_chartables.c
gcc -c -g -O2 -I. -I../pcre-7.0 pcre_chartables.c -DPIC -o .libs/pcre_chartables.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_compile.c -DPIC -o .libs/pcre_compile.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_config.c -DPIC -o .libs/pcre_config.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_dfa_exec.c -DPIC -o .libs/pcre_dfa_exec.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_exec.c -DPIC -o .libs/pcre_exec.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_fullinfo.c -DPIC -o .libs/pcre_fullinfo.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_get.c -DPIC -o .libs/pcre_get.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_globals.c -DPIC -o .libs/pcre_globals.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_info.c -DPIC -o .libs/pcre_info.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_maketables.c -DPIC -o .libs/pcre_maketables.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_newline.c -DPIC -o .libs/pcre_newline.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_ord2utf8.c -DPIC -o .libs/pcre_ord2utf8.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_refcount.c -DPIC -o .libs/pcre_refcount.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_study.c -DPIC -o .libs/pcre_study.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_tables.c -DPIC -o .libs/pcre_tables.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_try_flipped.c -DPIC -o .libs/pcre_try_flipped.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_ucp_searchfuncs.c -DPIC -o .libs/pcre_ucp_searchfuncs.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_valid_utf8.c -DPIC -o .libs/pcre_valid_utf8.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_version.c -DPIC -o .libs/pcre_version.o
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_xclass.c -DPIC -o .libs/pcre_xclass.o
rm -f libpcre.la
/bin/sh ./libtool --mode=link gcc -export-symbols-regex '^[^_]' -I. -I../pcre-7.0 -rpath /home/bobbybrasko/download/pcre/pcre-7.0/build/../prefix/lib -version-info \
'0:1:0' -o libpcre.la pcre_chartables.lo pcre_compile.lo pcre_config.lo pcre_dfa_exec.lo pcre_exec.lo pcre_fullinfo.lo pcre_get.lo pcre_globals.lo pcre_info.lo pcre_maketables.lo pcre_newline.lo pcre_ord2utf8.lo pcre_refcount.lo pcre_study.lo pcre_tables.lo pcre_try_flipped.lo pcre_ucp_searchfuncs.lo pcre_valid_utf8.lo pcre_version.lo pcre_xclass.lo
libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin shared libraries
ar cru .libs/libpcre.a .libs/pcre_chartables.o .libs/pcre_compile.o .libs/pcre_config.o .libs/pcre_dfa_exec.o .libs/pcre_exec.o .libs/pcre_fullinfo.o .libs/pcre_get.o .libs/pcre_globals.o .libs/pcre_info.o .libs/pcre_maketables.o .libs/pcre_newline.o .libs/pcre_ord2utf8.o .libs/pcre_refcount.o .libs/pcre_study.o .libs/pcre_tables.o .libs/pcre_try_flipped.o .libs/pcre_ucp_searchfuncs.o .libs/pcre_valid_utf8.o .libs/pcre_version.o .libs/pcre_xclass.o
ranlib .libs/libpcre.a
creating libpcre.la
(cd .libs && rm -f libpcre.la && ln -s ../libpcre.la libpcre.la)
gcc -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcreposix.c -DPIC -o .libs/pcreposix.o
rm -f libpcreposix.la
/bin/sh ./libtool --mode=link gcc -export-symbols-regex '^[^_]' -I. -I../pcre-7.0 -rpath /home/bobbybrasko/download/pcre/pcre-7.0/build/../prefix/lib libpcre.la -version-info \
'0:0:0' -o libpcreposix.la pcreposix.lo
*** Warning: This system can not link to static lib archive libpcre.la.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin shared libraries
ar cru .libs/libpcreposix.a .libs/pcreposix.o
ranlib .libs/libpcreposix.a
creating libpcreposix.la
(cd .libs && rm -f libpcreposix.la && ln -s ../libpcreposix.la libpcreposix.la)
gcc -c -g -O2 -I. -I../pcre-7.0 \
../pcre-7.0/pcretest.c
/bin/sh ./libtool --mode=link gcc -g -O2 -I. -I../pcre-7.0 -o pcretest.exe \
pcretest.o \
libpcre.la libpcreposix.la
gcc -g -O2 -I. -I../pcre-7.0 -o pcretest.exe pcretest.o ./.libs/libpcre.a ./.libs/libpcreposix.a /home/bobbybrasko/download/pcre/pcre-7.0/build/.libs/libpcre.a
gcc -c -g -O2 -I. -I../pcre-7.0 \
-DIS_UNIX ../pcre-7.0/pcregrep.c
/bin/sh ./libtool --mode=link gcc -g -O2 -I. -I../pcre-7.0 -o pcregrep.exe pcregrep.o libpcre.la
gcc -g -O2 -I. -I../pcre-7.0 -o pcregrep.exe pcregrep.o ./.libs/libpcre.a
g++ -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcrecpp.cc -DPIC -o .libs/pcrecpp.o
g++ -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_scanner.cc -DPIC -o .libs/pcre_scanner.o
g++ -c -g -O2 -I. -I../pcre-7.0 -DPOSIX_MALLOC_THRESHOLD=10 ../pcre-7.0/pcre_stringpiece.cc -DPIC -o .libs/pcre_stringpiece.o
rm -f libpcrecpp.la
/bin/sh ./libtool --mode=link g++ -I. -I../pcre-7.0 -rpath /home/bobbybrasko/download/pcre/pcre-7.0/build/../prefix/lib libpcre.la -version-info \
'0:0:0' -o libpcrecpp.la pcrecpp.lo pcre_scanner.lo pcre_stringpiece.lo
*** Warning: This system can not link to static lib archive libpcre.la.
*** I have the capability to make that library automatically link in when
*** you link to this library. But I can only do this if you have a
*** shared version of the library, which you do not appear to have.
libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin shared libraries
ar cru .libs/libpcrecpp.a .libs/pcrecpp.o .libs/pcre_scanner.o .libs/pcre_stringpiece.o
ranlib .libs/libpcrecpp.a
creating libpcrecpp.la
(cd .libs && rm -f libpcrecpp.la && ln -s ../libpcrecpp.la libpcrecpp.la)
g++ -c -g -O2 -I. -I../pcre-7.0 \
../pcre-7.0/pcrecpp_unittest.cc
/bin/sh ./libtool --mode=link g++ -g -O2 -I. -I../pcre-7.0 -o pcrecpp_unittest.exe \
pcrecpp_unittest.o \
libpcrecpp.la libpcreposix.la
g++ -g -O2 -I. -I../pcre-7.0 -o pcrecpp_unittest.exe pcrecpp_unittest.o ./.libs/libpcrecpp.a ./.libs/libpcreposix.a /home/bobbybrasko/download/pcre/pcre-7.0/build/.libs/libpcre.a
g++ -c -g -O2 -I. -I../pcre-7.0 \
../pcre-7.0/pcre_scanner_unittest.cc
/bin/sh ./libtool --mode=link g++ -g -O2 -I. -I../pcre-7.0 \
-o pcre_scanner_unittest.exe \
pcre_scanner_unittest.o \
libpcrecpp.la libpcreposix.la
g++ -g -O2 -I. -I../pcre-7.0 -o pcre_scanner_unittest.exe pcre_scanner_unittest.o ./.libs/libpcrecpp.a ./.libs/libpcreposix.a /home/bobbybrasko/download/pcre/pcre-7.0/build/.libs/libpcre.a
g++ -c -g -O2 -I. -I../pcre-7.0 \
../pcre-7.0/pcre_stringpiece_unittest.cc
/bin/sh ./libtool --mode=link g++ -g -O2 -I. -I../pcre-7.0 \
-o pcre_stringpiece_unittest.exe \
pcre_stringpiece_unittest.o \
libpcrecpp.la libpcreposix.la
g++ -g -O2 -I. -I../pcre-7.0 -o pcre_stringpiece_unittest.exe pcre_stringpiece_unittest.o ./.libs/libpcrecpp.a ./.libs/libpcreposix.a /home/bobbybrasko/download/pcre/pcre-7.0/build/.libs/libpcre.a