Re: Win32 Build ?


Subject: Re: Win32 Build ?
From: Saint-Denis (stdenisg@cedep.net)
Date: Thu Aug 10 2000 - 07:12:58 CDT


----- Original Message -----
> From: Glen Ruedinger (gruedinger@vaiautomation.com)
> Date: Thu Aug 03 2000 - 10:40:20 CDT

> OK, I've been trying to compile the Win32 version of ABI for several
> weeks now. It seems that one thing after another is causing the compile
> to break.

> I did a CVS update this morning and here is where it broke THIS time.

> make ABI_ROOT=/cygdrive/d/abisource/abi -C win build
> make[4]: Entering directory `/cygdrive/d/abisource/abi/src/wp/ap/win'
> Building with [LicensedTrademarks:Off Debug:Off].
> Command line warning D4024 : unrecognized source file type 'Personal""',
> object file assumed
> Command line warning D4027 : source file 'Personal""' ignored

I donwloaded Cygwin 1.1.4 and installed it on my computer. I reproduced the same warnings messages and errors while compiling Abi version 0.7.10.

The "Command line warning D4024 and D4027" are issued by the compiler. He complains that 'Personal""' was passed on as a command line parameter. It cannot make any sense of that word. Searching for "Personal" in the make files, we find the file "abi\src\config\abi_defs_wp.mk" using "AbiWord Personal". It is used to define "ABI_NAMEDEFS". This last definition is then used in the definition of "CFLAGS", the flags passed to the compiler.

The problem is with the way some definitions are made for win32 in "abi\src\config\abi_defs_wp.mk". The make program interprets token differently since Cygwin version 1.1.3. I found out that they should be the same as for unix!
 
Theses are the files and definitions I changed to build AbiWord successfully:
"abi\src\config\abi_defs_wp.mk" definition of ABI_NAMEDEFS and ABI_APPLIBDIRDEF
"abi\src\wp\main\xp\Makefile" definition of BUILD_OPTIONS
 
I think the Hello world program needs also a change in "abi\src\hello\main\xp\Makefile" for the definition of BUILD_OPTIONS. I did not test this last afirmation.

Since I am not a good "Makefile" writer, the changes I made are not publishable. A good implementation would need to check the version of Cygwin or the make program to decide the actual form the definitions would take.

For example, the definition of ABI_NAMEDEFS in win32 environment :
Cygwin previous to version 1.1.3
ABI_NAMEDEFS= -DABIWORD_APP_NAME=\"\"AbiWord Personal\"\"

Cygwin from version 1.1.3 and on
ABI_NAMEDEFS= -DABIWORD_APP_NAME="\"AbiWord Personal\""

I hope that theses informations will permit some one fluent in Makefile writing to implement a patch.
 



This archive was generated by hypermail 2b25 : Thu Aug 10 2000 - 07:11:35 CDT