freetype
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft] Building freetype under cygwin


From: Alex Agranovsky
Subject: Re: [ft] Building freetype under cygwin
Date: Sat, 28 Nov 2015 01:45:46 -0500

On November 28, 2015 at 12:52:49 AM, Werner LEMBERG (address@hidden) wrote:

> address@hidden ~/freetype-2.6
> $ ./objs/apinames.exe \
> -o `cygpath -w /home/alex/freetype-2.6/objs/ftexport.sym` \
> `cygpath -w /home/alex/freetype-2.6/include/freetype/ttnameid.h` \
> `cygpath -w /home/alex/freetype-2.6/include/freetype/freetype.h`

Aah, OK. I've never used cygwin, so the problem isn't with `apinames'
per se, but the conversion of UNIX style file names to Windows style.

Could you work on a patch that fixes that? The idea is to use GNU
make's powerful string substitution routines to massage the recipe in
the rule for generating $(EXPORTS_LIST) in file `exports.mk', that is,
having the following replacement.

if we have cygwin + mingw (or whatever triggers the problem):
U2W := `cygpath -w %`
otherwise:
U2W := %

$(EXPORTS_LIST): $(APINAMES_EXE) $(PUBLIC_HEADERS)
$(subst /,$(SEP),$(APINAMES_EXE)) \
-o$(patsubst %,$(U2W),$@ $(APINAMES_OPTIONS) $(PUBLIC_HEADERS))
@echo TT_New_Context >> $(EXPORTS_LIST)
@echo TT_RunIns >> $(EXPORTS_LIST)


Unfortunately this was the last straw, and I’m trying to get things going on msys2 now. I’ll try and look at this sometime next week, once I’m done with my current task, if I have a moment, though.

> Not to change the topic, but I’ve tried some alternative methods of 
> building. Under the same environment as above (cygwin with mingw 
> toolchain), cmake seems to go further, but doesn’t seem to offer 
> disabling zlib. 

I've just applied some cmake patches that should take care of this. 
Please test the git repository. 

Thanks — I’ll check that out. Again, cygwin is less relevant for the moment, but I’ll test out cmake with the new options on msys2.




> Switching to msys2 shell with mingw toolchain, the build is 
> finishing, but the binary ends up requiring libgcc_s_dw2-1.dll — 
> passing --static-libgcc in LDFLAGS doesn’t seem to have any effect. 

Hmm. AFAIK, a user-defined LDFLAGS is passed on to libtool... Does 
libtool pass `--static-libgcc' to the gcc command line? 


I’m attaching the output from complete ft build. It seems that while the flag is passed to most every command, it’s missing on

libtool: link: gcc -shared  /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftsystem.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftdebug.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftinit.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftbase.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftbbox.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftbdf.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftbitmap.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftcid.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftfntfmt.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftfstype.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftgasp.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftglyph.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftgxval.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftlcdfil.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftmm.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftotval.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftpatent.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftpfr.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftstroke.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftsynth.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/fttype1.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftwinfnt.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/truetype.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/type1.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/cff.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/type1cid.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/pfr.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/type42.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/winfnt.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/pcf.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/bdf.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/sfnt.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/autofit.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/pshinter.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/raster.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/smooth.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftcache.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftgzip.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftlzw.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/ftbzip2.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/psaux.o /c/vl/build-mingw32/freetype-2.6/objs/.libs/psnames.o    -m32   -o /c/vl/build-mingw32/freetype-2.6/objs/.libs/libfreetype-6.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker /c/vl/build-mingw32/freetype-2.6/objs/.libs/libfreetype.dll.a

Seems to correspond to this line in libtool:

../build-mingw32/freetype-2.6/builds/unix/libtool:        \$CC -shared \$output_objdir/\$soname.def \$libobjs \$deplibs \$compiler_flags -o \$output_objdir/\$soname \$wl--enable-auto-image-base -Xlinker --out-implib -Xlinker \$lib"



This is 2.6.1, btw, with b9880aa0f8f52accc9074334f9e9f962b1b5a8e6 applied on top of it.


Werner 


Thanks for your help, Werner!


Attachment: freetype-build.log
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]