--- Mer 13/10/10, Al ha scritto: > Hello, > > I want to adapt the Makefile of bzip2 for cygwin and I want > to > understand enough of what I am doing.
have you checked the bzip2 source package for cygwin ? I presume the mantainer already solved it > > This are the lines of interest from the Linux Makefile: > > BIGFILES=-D_FILE_OFFSET_BITS=64 > CFLAGS+=-fpic -fPIC -Wall -Winline $(BIGFILES) > SOEXT=so > SONAME=libbz2.${SOEXT}.1 > SOLDFLAGS=-shared -Wl,-soname -Wl,$(SONAME) > > $(CC) $(LDFLAGS) $(SOLDFLAGS) -o libbz2.${SOEXT}.1.0.5 > $(OBJS) usually we should have -o cygbz2-1.dll (as you can see on libbz2_1 package) as the version is before the .dll due to some windows limitations ;-) > $(CC) $(LDFLAGS) $(CFLAGS) -o bzip2-shared bzip2.c > libbz2.${SOEXT}.1.0.5 > > > What would by the appropriate adaption for Cygwin? > > I would try with this as a bare minimum, but then I loose > all the versioning: > > CFLAGS+=-Wall > SONAME= > SOLDFLAGS=-shared > > $(CC) $(LDFLAGS) $(SOLDFLAGS) -o cygbz2.dll $(OBJS) > $(CC) $(LDFLAGS) $(CFLAGS) -o bzip2-shared bzip2.c > cygbz2.dll > > Then the cygwin doc [1] suggests some other flags but no > soname at all: > > gcc -shared -o cyg${module}.dll \ > -Wl,--out-implib=lib${module}.dll.a \ > -Wl,--export-all-symbols \ > -Wl,--enable-auto-import \ > -Wl,--whole-archive ${old_libs} \ > -Wl,--no-whole-archive ${dependency_libs} > > Al > > [1] http://www.cygwin.com/cygwin-ug-net/dll.html > -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple