freetype
[Top][All Lists]
Advanced

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

Re: [ft] Compiling freetype 2.3.9 with bcc fails


From: Mirco Babin
Subject: Re: [ft] Compiling freetype 2.3.9 with bcc fails
Date: Mon, 13 Jul 2009 10:44:43 +0200

Hi,
 
I think I made an error during the testing. Now the -L switch does not work when I'm testing with the command prompt. I think I had an apinames.obj in the basedirectory. I'm sorry about the -L switch, it was a waste of time.
 
But the following sequence does work (first compile to the OBJ, then link):
bcc32 -c -oobjs\apinames.obj src/tools/apinames.c
bcc32 -oobjs/apinames.exe objs/apinames.obj
I commented out the build APINAMES.EXE in export.mk to see if the library is build fine. It does not, in the end I get:
 
bcc32 -A  -I.\objs -I.\builds\win32 -I.\include -c -q -y -d -v -Od -w-par -w-ccc -w-rch -w-pro -w-aus -DFT2_BUILD_LIBRARY -DFT_CONFIG_MODULES_H="<ftmodule.h>"  -I.\src\psnames -oobjs\psnames.obj .\src\psnames\psmodule.c
.\src\psnames\psmodule.c:
oobjs/freetype.def -dfreetype.dll -wB ./include/freetype/freetype.h ./include/freetype/ftadvanc.h ./include/freetype/ftbbox.h ./include/freetype/ftbdf.h ./include/freetype/ftbitmap.h ./include/freetype/ftcache.h ./include/freetype/ftchapters.h ./include/freetype/ftcid.h ./include/freetype/fterrdef.h ./include/freetype/fterrors.h ./include/freetype/ftgasp.h ./include/freetype/ftglyph.h ./include/freetype/ftgxval.h ./include/freetype/ftgzip.h ./include/freetype/ftimage.h ./include/freetype/ftincrem.h ./include/freetype/ftlcdfil.h ./include/freetype/ftlist.h ./include/freetype/ftlzw.h ./include/freetype/ftmac.h ./include/freetype/ftmm.h ./include/freetype/ftmodapi.h ./include/freetype/ftmoderr.h ./include/freetype/ftotval.h ./include/freetype/ftoutln.h ./include/freetype/ftpfr.h ./include/freetype/ftrender.h ./include/freetype/ftsizes.h ./include/freetype/ftsnames.h ./include/freetype/ftstroke.h ./include/freetype/ftsynth.h ./include/freetype/ftsystem.h ./include/freetype/fttrigon.h ./include/freetype/fttypes.h ./include/freetype/ftwinfnt.h ./include/freetype/ftxf86.h ./include/freetype/t1tables.h ./include/freetype/ttnameid.h ./include/freetype/tttables.h ./include/freetype/tttags.h ./include/freetype/ttunpat.h
process_begin: CreateProcess(NULL, oobjs/freetype.def -dfreetype.dll -wB ./include/freetype/freetype.h ./include/freetype/ftadvanc.h ./include/freetype/ftbbox.h ./include/freetype/ftbdf.h ./include/freetype/ftbitmap.h ./include/freetype/ftcache.h ./include/freetype/ftchapters.h ./include/freetype/ftcid.h ./include/freetype/fterrdef.h ./include/freetype/fterrors.h ./include/freetype/ftgasp.h ./include/freetype/ftglyph.h ./include/freetype/ftgxval.h ./include/freetype/ftgzip.h ./include/freetype/ftimage.h ./include/freetype/ftincrem.h ./include/freetype/ftlcdfil.h ./include/freetype/ftlist.h ./include/freetype/ftlzw.h ./include/freetype/ftmac.h ./include/freetype/ftmm.h ./include/freetype/ftmodapi.h ./include/freetype/ftmoderr.h ./include/freetype/ftotval.h ./include/freetype/ftoutln.h ./include/freetype/ftpfr.h ./include/freetype/ftrender.h ./include/freetype/ftsizes.h ./include/freetype/ftsnames.h ./include/freetype/ftstroke.h ./include/freetype/ftsynth.h ./include/freetype/ftsystem.h ./include/freetype/fttrigon.h ./include/freetype/fttypes.h ./include/freetype/ftwinfnt.h ./include/freetype/ftxf86.h ./include/freetype/t1tables.h ./include/freetype/ttnameid.h ./include/freetype/tttables.h ./include/freetype/tttags.h ./include/freetype/ttunpat.h, ...) failed.
make (e=2): Het systeem kan het opgegeven bestand niet vinden.
mingw32-make.exe: [objs/freetype.def] Error 2 (ignored)
del .\objs\freetype.lib 2> nul
tlib /u objs\freetype.lib +.\objs\ftsystem.obj +.\objs\ftdebug.obj +.\objs\ftinit.obj +.\objs\ftbase.obj +.\objs\ftbbox.obj +.\objs\ftbdf.obj +.\objs\ftbitmap.obj +.\objs\ftcid.obj +.\objs\ftfstype.obj +.\objs\ftgasp.obj +.\objs\ftglyph.obj +.\objs\ftgxval.obj +.\objs\ftlcdfil.obj +.\objs\ftmm.obj +.\objs\ftotval.obj +.\objs\ftpatent.obj +.\objs\ftpfr.obj +.\objs\ftstroke.obj +.\objs\ftsynth.obj +.\objs\fttype1.obj +.\objs\ftwinfnt.obj +.\objs\ftxf86.obj +.\objs\truetype.obj +.\objs\type1.obj +.\objs\cff.obj +.\objs\type1cid.obj +.\objs\pfr.obj +.\objs\type42.obj +.\objs\winfnt.obj +.\objs\pcf.obj +.\objs\bdf.obj +.\objs\sfnt.obj +.\objs\autofit.obj +.\objs\pshinter.obj +.\objs\raster.obj +.\objs\smooth.obj +.\objs\ftcache.obj +.\objs\ftgzip.obj +.\objs\ftlzw.obj +.\objs\psaux.obj +.\objs\psnames.obj
TLIB 5.1 Copyright (c) 1987-2007 CodeGear
Warning: invalid page size value ignored
Warning: invalid page size value ignored
 
The "Warning: invalid page size value ignored" is repeated infinitly. I had to abort the compile with CTRL-C.
 
Regards,
Mirco

 
2009/7/13 <address@hidden>
Hi,

Considering the fact that "-L./objs" does not work,
I guess bcc32 cannot recognize "/" as valid pathname
separator. If my guessing is right, the expected
might be:

       bcc32 -Lobjs -oobjs\apinames.exe src\tools\apinames.c

You've ever written that you tried

       bcc32 -Lobjs -oobjs/apinames.exe src/tools/apinames.c

and it successfully finihsed - the pathname separator
in your experiment was really "/", not "\"?

Regards,
mpsuzuki


On Mon, 13 Jul 2009 08:50:59 +0200
Mirco Babin <address@hidden> wrote:

>Hi,
>
>Update, I manually changed the bcc.mk to CCexe_LDFLAGS := -Lobjs
>It still results in the same error. I don't get it, it seems like the
>current directory is changed ?
>
>bcc32 -A  -I.\objs -I.\builds\win32 -I.\include -c -q -y -d -v -Od -w-par
>-w-ccc -w-rch -w-pro -w-aus -DFT2_BUILD_LIBRARY
>-DFT_CONFIG_MODULES_H="<ftmodule.h>"  -I.\src\psnames -oobjs\psnames.obj
>.\src\psnames\psmodule.c
>.\src\psnames\psmodule.c:
>bcc32  -Lobjs -oobjs/apinames.exe src/tools/apinames.c
>CodeGear C++ 5.93 for Win32 Copyright (c) 1993, 2007 CodeGear
>src/tools/apinames.c:
>Turbo Incremental Link 5.81 Copyright (c) 1997-2008 CodeGear
>Fatal: Unable to open file 'APINAMES.OBJ'
>mingw32-make: *** [objs/apinames.exe] Error 1
>Regards,
>Mirco
>
>2009/7/13 Mirco Babin <address@hidden>
>
>> Hi,
>>
>> I applied your patch and compiled.
>> I see the -L now, but it still results in an error. I believe the -L./objs
>> should be replaced with -Lobjs
>>
>>  bcc32 -A  -I.\objs -I.\builds\win32 -I.\include -c -q -y -d -v -Od -w-par
>> -w-ccc -w-rch -w-pro -w-aus -DFT2_BUILD_LIBRARY
>> -DFT_CONFIG_MODULES_H="<ftmodule.h>"  -I.\src\psnames -oobjs\psnames.obj
>> .\src\psnames\psmodule.c
>> .\src\psnames\psmodule.c:
>> bcc32  -L./objs -oobjs/apinames.exe src/tools/apinames.c
>> CodeGear C++ 5.93 for Win32 Copyright (c) 1993, 2007 CodeGear
>> src/tools/apinames.c:
>> Turbo Incremental Link 5.81 Copyright (c) 1997-2008 CodeGear
>> Fatal: Unable to open file 'APINAMES.OBJ'
>> mingw32-make: *** [objs/apinames.exe] Error 1
>>
>> Regards,
>> Mirco
>>
>> 2009/7/10 <address@hidden>
>>
>> Hi,
>>>
>>> Could you try following patch? It fixes:
>>>
>>> * declare the suffix ".exe" to be added to "apinames".
>>> * prepare CCexe_CFLAGS & CCexe_LDFLAGS.
>>> * put "-Lobj" to CCexe_LDFLAGS when we use bcc.
>>>
>>> Regards,
>>> mpsuzuki
>>>
>>> diff --git a/builds/win32/win32-def.mk b/builds/win32/win32-def.mk
>>> index a82b146..e6ae31c 100644
>>> --- a/builds/win32/win32-def.mk
>>> +++ b/builds/win32/win32-def.mk
>>> @@ -22,6 +22,7 @@ PLATFORM  := win32
>>>  # The executable file extension (for tools). NOTE: WE INCLUDE THE DOT
>>> HERE !!
>>>  #
>>>  E := .exe
>>> +E_BUILD := .exe
>>>
>>>
>>>  # The directory where all library files are placed.
>>>
>>>
>>> diff --git a/builds/exports.mk b/builds/exports.mk
>>> index 5452b35..d84a4c2 100644
>>> --- a/builds/exports.mk
>>> +++ b/builds/exports.mk
>>> @@ -51,7 +51,7 @@ ifneq ($(EXPORTS_LIST),)
>>>   APINAMES_EXE := $(OBJ_DIR)/apinames$(E_BUILD)
>>>
>>>   $(APINAMES_EXE): $(APINAMES_SRC)
>>> -         $(CCexe) $(TE)$@ $<
>>> +         $(CCexe) $(CCexe_CFLAGS) $(CCexe_LDFLAGS) $(TE)$@ $<
>>>
>>>   .PHONY: symbols_list
>>>
>>> diff --git a/builds/compiler/bcc.mk b/builds/compiler/bcc.mk
>>> index 509cb72..c28359a 100644
>>> --- a/builds/compiler/bcc.mk
>>> +++ b/builds/compiler/bcc.mk
>>> @@ -75,4 +75,8 @@ CLEAN_LIBRARY ?= $(DELETE) $(subst
>>> /,$(SEP),$(PROJECT_LIBRARY))
>>>  LINK_LIBRARY   = tlib /u $(subst /,$(COMPILER_SEP),$@
>>> $(OBJECTS_LIST:%=+%))
>>>
>>>
>>> +# apinames linking
>>> +#
>>> +CCexe_LDFLAGS := -L$(OBJ_DIR)
>>> +
>>>  # EOF
>>>
>>>
>>>
>>>
>>> On Fri, 10 Jul 2009 15:44:56 +0200
>>> Mirco Babin <address@hidden> wrote:
>>>
>>> >Hi,
>>> >
>>> >The problem is that the linker can't find the OBJ file.
>>> >The current directory is .
>>> >The obj files are compiled into .\objs
>>> >From the current directory a link is performed, but the .\objs directory
>>> is
>>> >not set as a path.
>>> >
>>> >Indeed apinames.exe is just one obj.
>>> >
>>> >I'm looking forward to your solution, thanks in advance !
>>> >
>>> >Regards,
>>> >Mirco
>>> >
>>> >2009/7/10 suzuki toshiya <address@hidden>
>>> >
>>> >> Hi,
>>> >>
>>> >> Mirco Babin wrote (2009/07/10 21:53):
>>> >> > Well,
>>> >> >
>>> >> > I tried the following and it does not produce errors:
>>> >> > bcc32 -Lobjs -oobjs/apinames.exe src/tools/apinames.c
>>> >> >
>>> >> > The -L switch is to provide a library search path (where to find OBJ
>>> and
>>> >> LIB
>>> >> > files).
>>> >>
>>> >> Interesting. apinames.exe requires only apinames.c,
>>> >> no need to link other libraries and objects, so
>>> >> the requirement of "-Lobjs" is not easy to understand.
>>> >> Maybe we have to care the single command executing
>>> >> compilation and linking.
>>> >>
>>> >> > But I don't known what should be adjusted in the makefiles. They are
>>> >> really
>>> >> > complex.
>>> >>
>>> >> OK, I will take a look. Please wait 24 hours.
>>> >>
>>> >> Regards,
>>> >> mpsuzuki
>>> >>
>>> >> > Regards,
>>> >> > Mirco
>>> >> > 2009/7/10 suzuki toshiya <address@hidden>
>>> >> >
>>> >> >> Hi,
>>> >> >>
>>> >> >> Mirco Babin wrote (2009/07/10 20:24):
>>> >> >>
>>> >> >>> bcc32 -oobjs/apinames src/tools/apinames.c
>>> >> >>> CodeGear C++ 5.93 for Win32 Copyright (c) 1993, 2007 CodeGear
>>> >> >>> src/tools/apinames.c:
>>> >> >>> Turbo Incremental Link 5.81 Copyright (c) 1997-2008 CodeGear
>>> >> >>> Fatal: Unable to open file 'APINAMES.OBJ'
>>> >> >>> mingw32-make: *** [objs/apinames] Error 1
>>> >> >>>
>>> >> >> I'm unfamiliar with bcc32 commandline syntax.
>>> >> >> How we can build "Hello World"-like program
>>> >> >> by bcc32? I think the author of the Makefile
>>> >> >> assumed that "bcc32 -ohello hello.c" is OK.
>>> >> >> Please let me know how to build hello world
>>> >> >> by bcc32.
>>> >> >>
>>> >> >> The command
>>> >> >>
>>> >> >> bcc32 -oobjs/apinames.exe src/tools/apinames.c
>>> >> >>
>>> >> >> can compile & link working executabe "apinames.exe"?
>>> >> >>
>>> >> >> Regards,
>>> >> >> mpsuzuki
>>> >> >>
>>> >> >
>>> >>
>>> >>
>>> >
>>>
>>
>>
>


reply via email to

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