UFO:Alien Invasion

Development => Newbie Coding => Topic started by: Destructavator on October 02, 2010, 09:19:56 am

Title: (log) Actually got new build system to (partially) work on Windows 7
Post by: Destructavator on October 02, 2010, 09:19:56 am
OK, this is what I've found is necessary to build with the new MSYS thing on Windows, and it looks like I actually got "game.dll" to compile but not most of the other stuff.

1 - Download the custom C::B package from UFO:AI site.

2 - Unpack it and add the MinGW/bin folder to the Windows PATH

3 - Go in to MinGW/bin and COPY the "gcc.exe" (not re-name!) file to "cc.exe"

4 - Run the MSYS shell from the batch file in the C::B package under MinGW

5 - Change directory inside the shell to where your downloaded Git copy of the game is

6 - Run "configure"

7 - Run "make"

8 - Watch happily as some stuff compiles and other stuff bombs out (until things are fixed).


As you can see in the log, I also ran "make ufo2map" because when testall failed, it stopped there and I wanted to see if I could make other parts compile.
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 02, 2010, 11:18:32 pm
First please move this here (http://ufoai.ninex.info/forum/index.php?topic=4689.0)

.) Than use the attached bash script to build a MinGW environment (ver 0.3.0)
.) move ufoai source under c:\wherever\UFOAIwin32BUILDenv\mingw
.) run the bat
.) move to /mingw
.) ./configure LDFLAGS="-static-libgcc -static-libstdc++"
.) sed 's/#undef HAVE_THEORA_THEORA_H/#define HAVE_THEORA_THEORA_H/g' config.h >config.h.tmp && mv config.h.tmp config.h
.) sed 's/#undef HAVE_XVID_H/#define HAVE_XVID_H/g' config.h >config.h.tmp && mv config.h.tmp config.h
.) sed 's/#undef HAVE_VORBIS_CODEC_H/#define HAVE_VORBIS_CODEC_H/g' config.h >config.h.tmp && mv config.h.tmp config.h
.) make
.) ....

btw. to link statically use
.) ./configure LDFLAGS="-static"
but not on radiant, even ufo.exe will not link successfully because of some missing libs
(not the libs are missing, the command line miss some libs)


I'm able to build ufo.exe + tools even radiant (yes under MinGW)
Static linking need a fix
and the undef bug in configure need to be fixed too
under C::B you can use (other linker options) ... to build ufo.exe using static libs
I'm sure some libs can be removed
Code: [Select]
-static
--start-group -lopengl32 -lSDL_mixer -lSDLmain -lSDL -lSDL_image  -lSDL_ttf -lpthread -lcurl -lpng14 -ltiff -lfreetype -ljpeg -lflac -ltheora -lvorbis -logg -lvorbisfile -lxvidcore -lsmpeg -lintl -lws2_32 -ldxguid -liconv -lz -lwinmm  --end-group




The new MinGW is bigger than the old one
because of tons of dll's (I hate it to search for dll's)
I've modified libxml to use libxml2.dll instead of libxml2-2.dll (radiant related*)
I've modified gettext, more specific libintl to use intl.dll instead of libintl-8.dll (radiant related*)
I'm using libjpeg-turbo instead of the old libjpeg6 ( because its maintained [libjpeg8 isn't compatible] )
Python support
Git support
recompiled all libs needed for ufoai+tools using --enable-static --enable-shared (exclusive radiant libs)


*
gtk and glib do have a lot of dependencies
and those old dlls request for libxml2.dll.. forced me to manipulate the lib (only pointing to the right direction *.la, *.dll.a files)
to reduce the dll's under contrib\radiant
radiant need the new libglib-2.0-0.dll because of malloc0
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 02, 2010, 11:26:03 pm
the commandline does not miss any libs on my static build that is produced each night with our build bot at http://ufoai.ninex.info/snapshots - so maybe one of your libs is not build statically?
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 02, 2010, 11:27:18 pm
btw. also radiant links statically now - though the version that was last produced by the night build has problems with from gtkglext widget - still searching for it. would be nice if someone else could test it, too - maybe it's only my machine.
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Destructavator on October 03, 2010, 12:58:21 am
@ Muton & Mattn:

Some of what you have discussed in this thread I am familiar with and understand, some I don't, but regardless, just let me know when fixes/updates are committed to the master (for this issue) and I will happily try again (and post another log), until the system fully works.
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 03, 2010, 06:54:32 am
there is nothing wrong with the build in master, you just don't have the pkg-config files for SDL in lib/pkg-config/sdl.pc

a new mingw package would be needed that also contain these files
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 03, 2010, 04:42:54 pm
> so maybe one of your libs is not build statically?

They are, using C::B result in a working ufo.exe
I've used the last svn sources, btw.
The git source compile ufo.exe without any problem (if i copy gcc.exe to cc.exe [/bin/sh: cc: command not found])
but shared.
A static build instead .... (missing libs like dxguid)
$ pkg-config.exe --libs --static sdl
-mwindows -LD:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib -lmingw32 -lSDLmain -lSDL -liconv -lm -luser32 -lgdi32 -lwinmm -ldxguid
Code: [Select]
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libintl.a(dcigettext.o):dcigettext.c:(.text+0x716): undefined reference to `libiconv'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libintl.a(dcigettext.o):dcigettext.c:(.text+0x8fb): undefined reference to `libiconv_open'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libintl.a(dcigettext.o):dcigettext.c:(.text+0x96e): undefined reference to `libiconv_open'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libintl.a(relocatable.o):relocatable.c:(.text+0x4f): undefined reference to `libiconv_set_relocation_prefix'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_systimer.o):SDL_systimer.c:(.text+0x178): undefined reference to `timeSetEvent@20'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_systimer.o):SDL_systimer.c:(.text+0x1c6): undefined reference to `timeKillEvent@4'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.text+0x152): undefined reference to `IID_IDirectDrawSurface3'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.text+0xfe9): undefined reference to `IID_IDirectDraw2'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.text+0x2025): undefined reference to `IID_IDirectDrawSurface3'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.text+0x2c6e): undefined reference to `IID_IDirectDrawSurface3'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.text+0x3ba1): undefined reference to `IID_IDirectDrawGammaControl'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.text+0x3df3): undefined reference to `IID_IDirectDrawGammaControl'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x0): undefined reference to `GUID_Key'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x10): undefined reference to `GUID_Key'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x20): undefined reference to `GUID_Key'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x30): undefined reference to `GUID_Key'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x40): undefined reference to `GUID_Key'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x50): more undefined references to `GUID_Key' follow
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x1000): undefined reference to `GUID_XAxis'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x1010): undefined reference to `GUID_YAxis'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x1020): undefined reference to `GUID_ZAxis'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x1080): undefined reference to `GUID_XAxis'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x1090): undefined reference to `GUID_YAxis'

:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x10a0): undefined reference to `GUID_ZAxis'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x1140): undefined reference to `GUID_XAxis'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x1150): undefined reference to `GUID_YAxis'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x1160): undefined reference to `GUID_ZAxis'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x1170): undefined reference to `GUID_RxAxis'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x1180): undefined reference to `GUID_RyAxis'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x1190): undefined reference to `GUID_RzAxis'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x11a0): undefined reference to `GUID_Slider'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x11b0): undefined reference to `GUID_Slider'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x11c0): undefined reference to `GUID_POV'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x11d0): undefined reference to `GUID_POV'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x11e0): undefined reference to `GUID_POV'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5video.o):SDL_dx5video.c:(.data+0x11f0): undefined reference to `GUID_POV'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_mmjoystick.o):SDL_mmjoystick.c:(.text+0x2b3): undefined reference to `joyGetNumDevs@0'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_mmjoystick.o):SDL_mmjoystick.c:(.text+0x2e2): undefined reference to `joyGetPosEx@8'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_mmjoystick.o):SDL_mmjoystick.c:(.text+0x30f): undefined reference to `joyGetDevCapsA@12'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_mmjoystick.o):SDL_mmjoystick.c:(.text+0x759): undefined reference to `joyGetPosEx@8'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dibaudio.o):SDL_dibaudio.c:(.text+0x1cf): undefined reference to `waveOutGetErrorTextA@12'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dibaudio.o):SDL_dibaudio.c:(.text+0x2a2): undefined reference to `waveOutWrite@12'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dibaudio.o):SDL_dibaudio.c:(.text+0x380): undefined reference to `waveOutClose@4'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dibaudio.o):SDL_dibaudio.c:(.text+0x3dc): undefined reference to `waveOutUnprepareHeader@12'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dibaudio.o):SDL_dibaudio.c:(.text+0x5cf): undefined reference to `waveOutOpen@24'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dibaudio.o):SDL_dibaudio.c:(.text+0x768): undefined reference to `waveOutPrepareHeader@12'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5yuv.o):SDL_dx5yuv.c:(.text+0xcd): undefined reference to `IID_IDirectDrawSurface3'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5events.o):SDL_dx5events.c:(.text+0x234): undefined reference to `IID_IDirectInputDevice2A'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5events.o):SDL_dx5events.c:(.data+0x4): undefined reference to `GUID_SysKeyboard'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_dx5events.o):SDL_dx5events.c:(.data+0x1c): undefined reference to `GUID_SysMouse'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_syscdrom.o):SDL_syscdrom.c:(.text+0x163): undefined reference to `mciSendCommandA@16'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL.a(SDL_syscdrom.o):SDL_syscdrom.c:(.text+0x18c): undefined reference to `mciGetErrorStringA@12'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_jpg.o):IMG_jpg.c:(.text+0x12): undefined reference to `jpeg_calc_output_dimensions'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_jpg.o):IMG_jpg.c:(.text+0x1c): undefined reference to `jpeg_CreateDecompress'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_jpg.o):IMG_jpg.c:(.text+0x26): undefined reference to `jpeg_destroy_decompress'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_jpg.o):IMG_jpg.c:(.text+0x30): undefined reference to `jpeg_finish_decompress'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_jpg.o):IMG_jpg.c:(.text+0x3a): undefined reference to `jpeg_read_header'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_jpg.o):IMG_jpg.c:(.text+0x44): undefined reference to `jpeg_read_scanlines'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_jpg.o):IMG_jpg.c:(.text+0x4e): undefined reference to `jpeg_resync_to_restart'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_jpg.o):IMG_jpg.c:(.text+0x58): undefined reference to `jpeg_start_decompress'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_png.o):IMG_png.c:(.text+0x20): undefined reference to `png_create_read_struct'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_png.o):IMG_png.c:(.text+0x2a): undefined reference to `png_destroy_read_struct'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_png.o):IMG_png.c:(.text+0x34): undefined reference to `png_get_IHDR'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_png.o):IMG_png.c:(.text+0x48): undefined reference to `png_get_tRNS'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_png.o):IMG_png.c:(.text+0x52): undefined reference to `png_get_valid'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_png.o):IMG_png.c:(.text+0x5c): undefined reference to `png_read_image'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_png.o):IMG_png.c:(.text+0x66): undefined reference to `png_read_info'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_png.o):IMG_png.c:(.text+0x70): undefined reference to `png_read_update_info'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_png.o):IMG_png.c:(.text+0x7a): undefined reference to `png_set_expand'

:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_png.o):IMG_png.c:(.text+0x84): undefined reference to `png_set_gray_to_rgb'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_png.o):IMG_png.c:(.text+0x98): undefined reference to `png_set_read_fn'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_png.o):IMG_png.c:(.text+0xa2): undefined reference to `png_set_strip_16'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_tif.o):IMG_tif.c:(.text+0x12): undefined reference to `TIFFClientOpen'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_tif.o):IMG_tif.c:(.text+0x1c): undefined reference to `TIFFClose'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_tif.o):IMG_tif.c:(.text+0x26): undefined reference to `TIFFGetField'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_tif.o):IMG_tif.c:(.text+0x30): undefined reference to `TIFFReadRGBAImage'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_image.a(IMG_tif.o):IMG_tif.c:(.text+0x3a): undefined reference to `TIFFSetErrorHandler'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_mp3.o):dynamic_mp3.c:(.text+0x16): undefined reference to `SMPEG_actualSpec'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_mp3.o):dynamic_mp3.c:(.text+0x20): undefined reference to `SMPEG_delete'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_mp3.o):dynamic_mp3.c:(.text+0x2a): undefined reference to `SMPEG_enableaudio'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_mp3.o):dynamic_mp3.c:(.text+0x34): undefined reference to `SMPEG_enablevideo'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_mp3.o):dynamic_mp3.c:(.text+0x3e): undefined reference to `SMPEG_new'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_mp3.o):dynamic_mp3.c:(.text+0x48): undefined reference to `SMPEG_new_rwops'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_mp3.o):dynamic_mp3.c:(.text+0x52): undefined reference to `SMPEG_play'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_mp3.o):dynamic_mp3.c:(.text+0x5c): undefined reference to `SMPEG_playAudio'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_mp3.o):dynamic_mp3.c:(.text+0x66): undefined reference to `SMPEG_rewind'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_mp3.o):dynamic_mp3.c:(.text+0x70): undefined reference to `SMPEG_setvolume'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_mp3.o):dynamic_mp3.c:(.text+0x7a): undefined reference to `SMPEG_skip'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_mp3.o):dynamic_mp3.c:(.text+0x84): undefined reference to `SMPEG_status'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_mp3.o):dynamic_mp3.c:(.text+0x8e): undefined reference to `SMPEG_stop'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(native_midi_win32.o):native_midi_win32.c:(.text+0x3c): undefined reference to `midiOutUnprepareHeader@12'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(native_midi_win32.o):native_midi_win32.c:(.text+0xf0): undefined reference to `midiOutPrepareHeader@12'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(native_midi_win32.o):native_midi_win32.c:(.text+0x122): undefined reference to `midiStreamOut@12'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(native_midi_win32.o):native_midi_win32.c:(.text+0x41e): undefined reference to `midiStreamOpen@24'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(native_midi_win32.o):native_midi_win32.c:(.text+0x43c): undefined reference to `midiStreamClose@4'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(native_midi_win32.o):native_midi_win32.c:(.text+0x5bb): undefined reference to `midiStreamStop@4'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(native_midi_win32.o):native_midi_win32.c:(.text+0x5cb): undefined reference to `midiStreamClose@4'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(native_midi_win32.o):native_midi_win32.c:(.text+0x646): undefined reference to `midiStreamOpen@24'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(native_midi_win32.o):native_midi_win32.c:(.text+0x6ad): undefined reference to `midiStreamProperty@12'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(native_midi_win32.o):native_midi_win32.c:(.text+0x6cb): undefined reference to `midiStreamRestart@4'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(native_midi_win32.o):native_midi_win32.c:(.text+0x6ef): undefined reference to `midiStreamStop@4'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(native_midi_win32.o):native_midi_win32.c:(.text+0x6ff): undefined reference to `midiStreamClose@4'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(native_midi_win32.o):native_midi_win32.c:(.text+0x789): undefined reference to `midiOutSetVolume@8'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_ogg.o):dynamic_ogg.c:(.text+0x53): undefined reference to `ov_clear'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_ogg.o):dynamic_ogg.c:(.text+0x5d): undefined reference to `ov_info'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_ogg.o):dynamic_ogg.c:(.text+0x67): undefined reference to `ov_open_callbacks'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_ogg.o):dynamic_ogg.c:(.text+0x71): undefined reference to `ov_pcm_total'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_ogg.o):dynamic_ogg.c:(.text+0x7b): undefined reference to `ov_read'
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib\libSDL_mixer.a(dynamic_ogg.o):dynamic_ogg.c:(.text+0x85): undefined reference to `ov_time_seek'

> btw. also radiant links statically now - though the version that was last produced by the night build has problems with from gtkglext widget

I'm using the last sources now to compile radiant using static libs from mingw-cross-env-2.15
Its not working
fist gtk+ libs aren't found
modified mingw32.mk (libs)
GTK_CFLAGS               ?= $(call PKG_CFLAGS,gtk-win32-2.0) $(call PKG_CFLAGS,libxml2)
GTK_LIBS                 ?= $(call PKG_LIBS,gtk-win32-2.0) $(call PKG_LIBS,libxml2)
XML2_CFLAGS              ?= $(call PKG_CFLAGS,libxml2)
XML2_LIBS                ?= $(call PKG_LIBS,libxml2)
OPENAL_CFLAGS            ?= $(call PKG_CFLAGS,openal32)
OPENAL_LIBS              ?= $(call PKG_LIBS,openal32)

Its unbelievable slow to compile radiant under MinGW
its at least 5 times slower than on C::B
and i receive tons of linker errors
Not even shared is possible -> linker errors


There is one problem with libgio
Windows 2000 support
wspiapi.h is not used even if its there (configure)
So your radiant build wont work on w2k
I've been btw unable to simly build ufo.exe on mingw to support w2k


I give up  >:(
i stay on C::B
its faster
easier to use
i can add or remove libs without taking care about pkg-config
and the output (errors) is useful (-Wall seams to have no effect)

Ufo and tools are static
radiant (this crappy tool) is dynamic and w2k compatible
and thats it
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 03, 2010, 07:47:19 pm
export CC=gcc
or add this to config.mk (create that file)
Code: [Select]
CC=gcc
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 06, 2010, 07:53:35 pm
i've checked in a c::b project file that works with the makefiles in the background - just make sure your sdl-config is returning the correct path for sdl-config --cflags - in the c::b package we offer for download it points to dave's home dir - which will of course fail for everyone else. If you get a SDL_opengl.h not found error, this is due to the wrong path in sdl-config

> i've checked in a c::b project file that works with the makefiles in the background

 ??? ??? ???
I'm using cbp files

ufo.rc
1 RT_MANIFEST DISCARDABLE "build/projects/ufo.exe.manifest"
101 ICON DISCARDABLE "build/projects/ufo.ico"
112 ICON DISCARDABLE "build/projects/ufoded.ico"
radiant.rc
101 ICON DISCARDABLE "build/projects/radiant.ico"
windres error

You trashed
#ifndef CROSSBUILD
1 RT_MANIFEST DISCARDABLE "ufo.exe.manifest"
101 ICON DISCARDABLE "ufo.ico"
112 ICON DISCARDABLE "ufo_ded.ico"
#else
1 RT_MANIFEST DISCARDABLE "build/projects/ufo.exe.manifest"
101 ICON DISCARDABLE "build/projects/ufo.ico"
112 ICON DISCARDABLE "build/projects/ufo_ded.ico"
#endif

ufomodel
linker error
.objs\ufomodel\src\client\renderer\r_model_md2.o:r_model_md2.c:(.text+0x55f): undefined reference to `R_UseActorSkin'
.objs\ufomodel\src\client\renderer\r_model_md2.o:r_model_md2.c:(.text+0x5cc): undefined reference to `R_LoadActorSkinsFromModel'

I had to add
   client/renderer/r_model.c
   client/renderer/r_model_alias.c


That make me think you dropped C::B
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Duke on October 06, 2010, 09:14:13 pm
That make me think you dropped C::B
C::B will not be dropped before the last dev has moved away from it. At least I am requesting this.

I've been trying eclipse for a week or so and was very pleased about what I saw. Looks like eclipse is equivalent or slightly better in every aspect and clearly superior in a few important features, namely the call-, callee-, include- and type-trees I've been missing so much in CB. I'm pretty sure I will immediately ditch CB once eclipse runs smoothly on my machine.

atm I'm using eclipse for analysis and CB for compling, so I have the same prob with *.rc as you.

@Mattn:
Is there any reason why we shouldn't put the CROSSBUILD stuff back in for a while ?
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 07, 2010, 04:41:08 pm
@Mattn:
Is there any reason why we shouldn't put the CROSSBUILD stuff back in for a while ?

because it should get fixed, not hacked (i'm working on all this stuff).

did you try the new c::b project file already? (it's in the root of the ufoai checkout dir named ufo.cbp) the new one is just using the makefiles for compilation. (you have to fix your sdl-config to make this work)
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Duke on October 07, 2010, 09:17:58 pm
because it should get fixed, not hacked (i'm working on all this stuff).
Sounds good. But I meant *until* it is fixed ;)

did you try the new c::b project file already? (it's in the root of the ufoai checkout dir named ufo.cbp) the new one is just using the makefiles for compilation. (you have to fix your sdl-config to make this work)
I just did. After the usual slow start (which feel like a minute) it compiles nicely until the linker gives me those 2 million 'undef ref to ogg*' errors.

But I forgot to fix sdl_config ! So I looked into it and found that the prefix doesn't point to dave but instead is set correctly.
Maybe that is the reason for my local problems with ogg. Outdated codeblock.zip ? As far as I can tell the one I use is from September or October. *2009* !!
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 07, 2010, 10:04:15 pm
this only happens for ufo (client)? or also for other modules (e.g. testall)?

i've added ogg to ufo and testall now - please retry with latest master
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Duke on October 07, 2010, 11:00:09 pm
this only happens for ufo (client)? or also for other modules (e.g. testall)?
I started C::B with the \ufoai\ufo.cbp you mentioned above. That only compiles game and ufo.
Which testall.cbp do you want me to use ?

i've added ogg to ufo and testall now - please retry with latest master
I did. Some more warnings (casts and strdup), but NO linker errors :) Still terribly slow, though.
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Duke on October 07, 2010, 11:22:43 pm
btw this time I did a rebuild, which does not clean and build game.dll. Intended or bug ?
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 08, 2010, 07:54:03 am
i've added testall and game targets to the project file.
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 09, 2010, 12:55:08 pm
After some time
a success report

I'm able to build everything in MinGW (shared)
only a small bug troubled uforadiant linking

mingw32.mk
OPENGL_LIBS              ?= -lopengl32
OPENAL_LIBS              ?= -lopenal32
PKG_CONFIG               ?= $(CROSS)pkg-config

I'm not using the outdated codeblocks.zip (MinGW environment)
but my own one
attached somewhere on page one

Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 09, 2010, 03:37:08 pm
thanks - fixed in latest master
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 09, 2010, 08:21:31 pm
A question related to pkg-config

example SDL_Image
if i build that lib as static and shared
i should have 2 entries right?
Libs: .....
Libs.private: ......

Libs.private
is for static
and Libs
for shared

but i dont have a
Libs.private entry in *.pc ???

but SDL_image depend on jpeg png and tiff
shouldnt all that be part of Libs.private?


The "strange" thing is the .la files does have every depending lib listed
Why do i have a .la file and a .pc file ???
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 10, 2010, 07:55:23 am
the la file is a libtool file that is used when you use libtool for linking (which we don't do [yet - because i don't have a lot of experience with it])
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 10, 2010, 03:18:04 pm
I have a small problem with radiant and libstdc++ libgcc_s_dw2
The exe and dll always request this dlls
even if i add -static-libgcc

While using C::B and -static-libgcc result in static linked lib
what do i miss ?

and where do i add -Wall to see ld output ?

thx
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 10, 2010, 05:04:35 pm
type "make Q=" to show all commands that are used to compile and/or link

dwarf2 is the exception handling that the tdm gcc mingw build uses by default afair. make sure to use this for every lib you are using. you may not mix them.
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 10, 2010, 06:44:40 pm
radiant.exe and brushexport.dll are requesting those dlls
none of the gtk or glib libs
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 10, 2010, 08:35:16 pm
please check that g++ is used for linking radiant
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 10, 2010, 10:00:45 pm
no cc does linking
Code: [Select]
src/tools/radiant/libs/generic/static.h:97:14: warning: inlining failed in call to 'static void
CountedStatic<Type, Context>::release() [with Type = TypeSystemInitialiser, Context = Null]': call
is unlikely and code size would grow
src/tools/radiant/libs/generic/static.h:124:3: warning: called from here
In file included from D:/temp/TMP_CO~2/UFOAIW~1/MinGW/include/gtk-2.0/gdk/gdkscreen.h:31:0,
                 from D:/temp/TMP_CO~2/UFOAIW~1/MinGW/include/gtk-2.0/gdk/gdkapplaunchcontext.h:31,
                 from D:/temp/TMP_CO~2/UFOAIW~1/MinGW/include/gtk-2.0/gdk/gdk.h:32,
                 from D:/temp/TMP_CO~2/UFOAIW~1/MinGW/include/gtk-2.0/gtk/gtk.h:32,
                 from src/tools/radiant/plugins/brushexport/support.h:1,
                 from src/tools/radiant/plugins/brushexport/support.cpp:1:
D:/temp/TMP_CO~2/UFOAIW~1/MinGW/include/cairo/cairo.h:1976:26: warning: comma at end of enumerator list
===> LD [radiant/plugins/brushexport.dll]
cc -DHAVE_CONFIG_H -ggdb -Winline -Wcast-qual -Wcast-align -Wmissing-declarations -Wpointer-arit
h -Wno-long-long -pedantic -Wextra -Wno-sign-compare -Wno-unused-parameter -Wreturn-type
-Wwrite-strings -DSHARED_EXT=\"dll\" -DGETTEXT_STATIC -DWINVER=0x501 -O2 -ffast-math -funroll-loops
-D_FORTIFY_SOURCE=2 -DNDEBUG -falign-loops=2 -falign-jumps=2 -falign-functions=2
-fno-strict-aliasing   
release-mingw32-i386/uforadiant-brushexport/tools/radiant/plugins/brushexport/callbacks.cpp.o
release-mingw32-i386/uforadiant-brushexport/tools/radiant/plugins/brushexport/export.cpp.o
release-mingw32-i386/uforadiant-brushexport/tools/radiant/plugins/brushexport/interface.cpp.o
release-mingw32-i386/uforadiant-brushexport/tools/radiant/plugins/brushexport/plugin.cpp.o
release-mingw32-i386/uforadiant-brushexport/tools/radiant/plugins/brushexport/support.cpp.o   
-static-libgcc -static-libstdc++ -shared `pkg-config --libs gtk+-2.0 2> /dev/null || ( if [ -z ""
]; then echo "-lgtk+-2.0"; else echo "-l"; fi )` `pkg-config --libs glib-2.0 2> /dev/null || ( if [
-z "" ]; then echo "-lglib-2.0"; else echo "-l"; fi )` -lstdc++ -lm -o
radiant/plugins/brushexport.dll
Info: resolving std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::_Rep::_S_empty_rep_storage by linking to __imp___ZNSs4_Rep20_S_empty_rep_storageE (auto-import)
Info: resolving vtable for __cxxabiv1::__si_class_type_info by linking to
__imp___ZTVN10__cxxabiv120__si_class_type_infoE (auto-import)
Info: resolving vtable for __cxxabiv1::__class_type_info by linking to
__imp___ZTVN10__cxxabiv117__class_type_infoE (auto-import)
Info: resolving vtable for __cxxabiv1::__vmi_class_type_info by linking to
__imp___ZTVN10__cxxabiv121__vmi_class_type_infoE
(auto-importd:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../../mingw32/bin/ld
.exe: warning: auto-importing has been activated without --enable-auto-import specified on the
command line.
This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.)

cc.exe: unrecognized option '-static-libstdc++'

btw
export CC=gcc
does not work
/bin/sh: cc: command not found
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 11, 2010, 10:35:12 am
call make CC=gcc

i suppose you have config.mk already set up with CC set.

if you don't do make clean-uforadiant before, just call "make CC=g++ CXX=g++ uforadiant" please
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 11, 2010, 08:27:53 pm
> export CC=gcc
> does not work
My fault, stupid winuser  ::)
cc=gcc != CC=gcc
added into /etc/profile


> i suppose you have config.mk already set up with CC set.
No, my mod is attached



make distclean ; ./configure --prefix= --enable-release --target-os=mingw32 && make Q= -j4 CC=g++ CXX=g++ uforadiant-brushexport && echo ok
google (http://www.mail-archive.com/cygwin@cygwin.com/msg95034.html)
using
http://downloads.sourceforge.net/mingw/gcc-c++-4.5.0-1-mingw32-bin.tar.lzma
http://downloads.sourceforge.net/mingw/gcc-core-4.5.0-1-mingw32-bin.tar.lzma
http://downloads.sourceforge.net/mingw/libgcc-4.5.0-1-mingw32-dll-1.tar.lzma
http://downloads.sourceforge.net/mingw/libssp-4.5.0-1-mingw32-dll-0.tar.lzma
http://downloads.sourceforge.net/mingw/libstdc++-4.5.0-1-mingw32-dll-6.tar.lzma
tried tdm -> same result
Code: [Select]
===> LD [radiant/plugins/brushexport.dll]
g++ -DHAVE_CONFIG_H -ggdb -Winline -Wcast-qual -Wcast-align -Wmissing-declarations -Wpointer-arith -Wno-long-long -pedantic -Wextra
-Wno-sign-compare -Wno-unused-parameter -Wreturn-type -Wwrite-strings -DSHARED_EXT=\"dll\" -DGETTEXT_STATIC -DWINVER=0x501 -O2
-ffast-math -funroll-loops -D_FORTIFY_SOURCE=2 -DNDEBUG -falign-loops=2 -falign-jumps=2 -falign-functions=2 -fno-strict-aliasing   
release-mingw32-i386/uforadiant-brushexport/tools/radiant/plugins/brushexport/callbacks.cpp.o
release-mingw32-i386/uforadiant-brushexport/tools/radiant/plugins/brushexport/export.cpp.o
release-mingw32-i386/uforadiant-brushexport/tools/radiant/plugins/brushexport/interface.cpp.o
release-mingw32-i386/uforadiant-brushexport/tools/radiant/plugins/brushexport/plugin.cpp.o
release-mingw32-i386/uforadiant-brushexport/tools/radiant/plugins/brushexport/support.cpp.o   
-static-libgcc -static-libstdc++ -shared `pkg-config --libs gtk+-2.0 2> /dev/null || ( if [ -z "" ]; then echo "-lgtk+-2.0"; else echo
"-l"; fi )` `pkg-config --libs glib-2.0 2> /dev/null || ( if [ -z "" ]; then echo "-lglib-2.0"; else echo "-l"; fi )` -lstdc++ -lm -o radiant/plugins/brushexport.dll
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0\libstdc++.a(string-inst.o):(.text$_ZNSsC1ERKSs[std::basic_
string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)]+0x0): multiple definition of `std::basic_string<char,
std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)'
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/libstdc++.dll.a(d001060.o):(.text+0x0): first defined here
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0\libstdc++.a(string-inst.o):(.text$_ZNSsC1ERKSsjj[std::basi
c_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned int)]+0x0): multiple definition of
`std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&, unsigned int,
unsigned int)'
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/libstdc++.dll.a(d001061.o):(.text+0x0): first defined here
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0\libstdc++.a(string-inst.o):(.text$_ZNSsD1Ev[std::basic_str
ing<char, std::char_traits<char>, std::allocator<char> >::~basic_string()]+0x0): multiple definition of
`std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()'
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/libstdc++.dll.a(d001081.o):(.text+0x0): first defined here
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0\libstdc++.a(string-inst.o):(.text$_ZNSs6appendEPKcj[std::b
asic_string<char, std::char_traits<char>, std::allocator<char> >::append(char const*, unsigned int)]+0x0): multiple
definition of `std::string::append(char const*, unsigned int)'
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/libstdc++.dll.a(d001011.o):(.text+0x0): first defined here
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0\libstdc++.a(string-inst.o):(.text$_ZNSs6assignEPKcj[std::b
asic_string<char, std::char_traits<char>, std::allocator<char> >::assign(char const*, unsigned int)]+0x0): multiple
definition of `std::string::assign(char const*, unsigned int)'
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/libstdc++.dll.a(d001018.o):(.text+0x0): first defined here
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0\libstdc++.a(string-inst.o):(.text$_ZNKSs5rfindEPKcjj[std::
basic_string<char, std::char_traits<char>, std::allocator<char> >::rfind(char const*, unsigned int, unsigned int)
const]+0x0): multiple definition of `std::string::rfind(char const*, unsigned int, unsigned int) const'
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/libstdc++.dll.a(d000240.o):(.text+0x0): first defined here
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0\libstdc++.a(string-inst.o):(.text$_ZNKSs12find_last_ofEPKc
jj[std::basic_string<char, std::char_traits<char>, std::allocator<char> >::find_last_of(char const*, unsigned int,
unsigned int) const]+0x0): multiple definition of `std::string::find_last_of(char const*, unsigned int, unsigned int)
const'
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/libstdc++.dll.a(d000205.o):(.text+0x0): first defined here
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0\libstdc++.a(string-inst.o):(.text$_ZNSs4_Rep10_M_destroyER
KSaIcE[std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Rep::_M_destroy(std::allocator<char>
const&)]+0x0): multiple definition of `std::string::_Rep::_M_destroy(std::allocator<char> const&)'
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/libstdc++.dll.a(d000988.o):(.text+0x0): first defined here
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0\libstdc++.a(string-inst.o):(.text$_ZNSs6assignERKSs[std::b
asic_string<char, std::char_traits<char>, std::allocator<char> >::assign(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)]+0x0): multiple definition of `std::string::assign(std::string
const&)'
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/libstdc++.dll.a(d001019.o):(.text+0x0): first defined here
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0\libstdc++.a(string-inst.o):(.text$_ZNSsC1EPKcRKSaIcE[std::
basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char>
const&)]+0x0): multiple definition of `std::basic_string<char, std::char_traits<char>, std::allocator<char>
>::basic_string(char const*, std::allocator<char> const&)'
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/libstdc++.dll.a(d001057.o):(.text+0x0): first defined here
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0\libstdc++.a(atomicity.o):(.text$_ZN9__gnu_cxx18__exchange_
and_addEPVii+0x0): multiple definition of `__gnu_cxx::__exchange_and_add(int volatile*, int)'
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/libstdc++.dll.a(d000071.o):(.text+0x0): first defined here
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0\libstdc++.a(functexcept.o):(.text$_ZSt20__throw_length_err
orPKc+0x0): multiple definition of `std::__throw_length_error(char const*)'
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/libstdc++.dll.a(d002667.o):(.text+0x0): first defined here
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0\libstdc++.a(functexcept.o):(.text$_ZSt20__throw_out_of_ran
gePKc+0x0): multiple definition of `std::__throw_out_of_range(char const*)'
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/libstdc++.dll.a(d002668.o):(.text+0x0): first defined here
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0\libstdc++.a(eh_throw.o):(.text$__cxa_rethrow+0x0):
multiple definition of `__cxa_rethrow'
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/libstdc++.dll.a(d003390.o):(.text+0x0): first defined here
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0\libstdc++.a(eh_personality.o):(.text$__gxx_personality_v0+
0x0): multiple definition of `__gxx_personality_v0'
d:/temp/tmp_co~2/ufoaiw~1/mingw/bin/../lib/gcc/mingw32/4.5.0/libstdc++.dll.a(d003403.o):(.text+0x0): first defined here
collect2: ld returned 1 exit status
make: *** [radiant/plugins/brushexport.dll] Error 1
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 11, 2010, 10:02:43 pm
yes - now you have to remove the -lstdc++ from the build/modules/*.mk LDFLAGS
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 12, 2010, 09:12:30 pm
yes thats it

now i stuck on W2k compatibility (ufo.exe)
I found something (http://www.developer.com/tech/article.php/10923_3382721_2/Running-IPv6-Code-in-Multiple-Windows-Environments.htm) but the linker dont include wspiapi.h
Never had a problem with C::B ....
Code: [Select]
release-mingw32-i386/ufo/common/net.c.o:net.c:(.data+0x4): undefined reference to `WspiapiLegacyGetAddrInfo@16'
release-mingw32-i386/ufo/common/net.c.o:net.c:(.data+0xc): undefined reference to `WspiapiLegacyGetNameInfo@28'
release-mingw32-i386/ufo/common/net.c.o:net.c:(.data+0x14): undefined reference to `WspiapiLegacyFreeAddrInfo@4'
release-mingw32-i386/ufo/common/net.c.o:net.c:(.rdata+0x834): undefined reference to `WspiapiLegacyGetAddrInfo@16'
release-mingw32-i386/ufo/common/net.c.o:net.c:(.rdata+0x83c): undefined reference to `WspiapiLegacyGetNameInfo@28'
release-mingw32-i386/ufo/common/net.c.o:net.c:(.rdata+0x844): undefined reference to `WspiapiLegacyFreeAddrInfo@4'
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 12, 2010, 09:37:54 pm
please retry with latest master revision (http://ufoai.git.sourceforge.net/git/gitweb.cgi?p=ufoai/ufoai;a=commitdiff;h=ea67ad8dd39c6ab98d111d63f80a0d1cfd92933c) - i've added a per-target-linker-option. so uforadiant related targets are now linked with g++

are there any other changes you've made in order to get that far?

about w2k, i'll do some research, too (but i can't test here, no w2k)
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 13, 2010, 11:22:24 pm
> i've added a per-target-linker-option. so uforadiant related targets are now linked with g++

Is working like expected

> are there any other changes you've made in order to get that far?

.)shared
mingw32.mk
uforadiant_LDFLAGS       += -lglib-2.0 -lgtk-win32-2.0 -lgobject-2.0 -static-libstdc++
uforadiant-brushexport_LDFLAGS+= -static-libstdc++

.)static
mingw32.mk
uforadiant_LDFLAGS       += -lglib-2.0 -lgtk-win32-2.0 -lgobject-2.0 -static-libstdc++
uforadiant-brushexport_LDFLAGS+= -static-libstdc++
ifeq ($(UNIVERSAL),1)
   PKG_CONFIG            += --static
   ufo_LDFLAGS           += -static
   ufoded_LDFLAGS        += -static
   testall_LDFLAGS       += -static
   ufo2map_LDFLAGS       += -static
   ufomodel_LDFLAGS      += -static
endif
ufo.mk (needed by smpeg cant be set in mingw32.mk [wrong order {static and shared does work with it}])
$(TARGET)_LDFLAGS  += -lpng  ..... -lstdc++
testall.mk
$(TARGET)_LDFLAGS  += -lcunit ..... -lstdc++


>about w2k, i'll do some research, too (but i can't test here, no w2k)

I'm still able to compile ufo.exe in C::B
C::B is using mingw32-gcc.exe, but using it doesn't solve the problem
Maybe an option .... ???
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 14, 2010, 07:37:36 am
is that static-libstdc++ still needed?

the UNIVERSAL stuff is only for mac - to build binaries that run on ppc and i386

the uforadiant ldflags should come from the pkg-config file for gtk - please post the outout of pkg-config --libs gtk-2.0 and pkg-config --libs glib-2.0
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 14, 2010, 07:38:32 am
ufo and testall should not need stdc++ at all - they are not c++ but normal c
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 14, 2010, 07:20:09 pm
> is that static-libstdc++ still needed?
yes

> the UNIVERSAL stuff is only for mac
than we need a static option

please post the outout
Code: [Select]
$ pkg-config --libs gtk+-2.0         
-LD:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0
-lgio-2.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lpango-1.0
-lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl 

$ pkg-config --libs glib-2.0
-LD:/temp/TMP_CO~2/UFOAIW~1/MinGW/lib -lglib-2.0 -lintl 

ufo and testall should not need stdc++ at all - they are not c++ but normal c
But smpeg is
if you do a static build
you'll need it
Code: (smpeg) [Select]
./configure --enable-static --enable-shared --prefix= --enable-mmx --disable-gtktest --enable-opengl-player=no --disable-gtk-player CFLAGS="-mms-bitfields $1 -mthreads $2 $3 $4" LDFLAGS="-static-libgcc -static-libstdc++" &&
make CC=g++ CXX=g++ CXXLD='$(CXX) -no-undefined' &&
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 15, 2010, 07:28:11 am
please edit build/flags.mk and change the PKG_LIBS macro - add a "--static" there please at the beginning of the call . if that works for you i will add a static option, too
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 15, 2010, 08:03:19 pm
working
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 16, 2010, 03:06:43 pm
ok, configure now has a --enable-static option- please try and let me know which modifications you still have
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 16, 2010, 06:10:51 pm
My mod is attached

I've added static a little different than you
and an --enable-w2k switch

We need the -static LDFLAG too ???
added this switch only at mingw32.mk
If you add this to $(TARGET)_LDFLAGS (ufo.mk ufoded.mk ....)
please use this for radiant
$(shell echo $(TARGET_OS) | grep -i "mingw32" >/dev/null || if [ -n "$(STATIC)" ]; then echo -$(STATIC); fi )
Its still not possible in Mingw to build radiant statically

The ufo and ufotest -lstdc++ problem is solved by adding this flag into SDL_mixer.pc
The Windows 2000 problem was caused by CCFLAGS += -std=c99

and please leave the -static-libgcc -static-libstdc++ flags for brush and radiant



Still one problem
stdout and stderr is redirected to
stderr.txt
stdout.txt
for ufomodel and ufo2map



btw. please merge this topic into this one http://ufoai.ninex.info/forum/index.php?topic=4689.0
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 17, 2010, 11:10:42 am
Still one problem
stdout and stderr is redirected to
stderr.txt
stdout.txt
for ufomodel and ufo2map

Is fixed too
As described here (http://www.libsdl.org/cgi/docwiki.cgi/FAQ_Console)
recompiled SDL using --disable-stdio-redirect
removed -mwindows from sdl_config and sdl.pc
ufo2map and ufomodel do now output to stdout and stderr instead of a file
(ufo and testall still compile ;) )


One last very unimportant thing
Do you plan to use the -s switch in the future to reduce the file size?
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 17, 2010, 06:07:21 pm
make pk3
/bin/sh: /bin/7za: Bad file number
make: *** [base/0models.pk3] Error 126

Fist im using 7za instead of 7z (easy fixed)
2nd you append all files as parameters to 7zip
and that will fail
The buffer is not long enough
A listfile is a way arround it
but
For list files, 7-Zip uses UTF-8 encoding by default. You can change encoding using -scs switch
UTF-8
Unicode UTF-8 character set.
WIN
Default character set of Windows.
DOS
Default DOS (OEM) character set of Windows.

7z a archive.7z @listfile.txt -scsWIN

another solution is to hardlink files

or the best solution is a python script (for windows only)
We|I are than able to optimize the pk3 build
because 7z only use 2 cores
On a quad core we can run 2 instances ...
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 17, 2010, 07:13:32 pm
i'm only interested in a makefile-only solution and don't want to add extra scripts.

feel free to extend data.mk (the ZIP macro) with 7za, too
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: mikeg on October 20, 2010, 04:18:22 am
Hello,

I have a question to this: Is it possible (or generally a good idea) to put dependency task into its own make target to provide a faster build task? Each time I start a incremental build the dependency is recalculated even if I changed nothing on headers.

If it is an own task its up to the programmer to rebuild the dependencies during each build.

Just an opinion.

Regards
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 20, 2010, 09:30:05 am
Do you plan to use the -s switch in the future to reduce the file size?

this is done on the make install target - it calls install with the s option for binaries.

but there are also strip targets avaiable - make strip-ufo will only strip the ufo target, make strip will strip everything.
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 20, 2010, 09:30:55 am
I have a question to this: Is it possible (or generally a good idea) to put dependency task into its own make target to provide a faster build task? Each time I start a incremental build the dependency is recalculated even if I changed nothing on headers.

if you could provide an example what you exactly mean and how to improve it... i will have a look at it.
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 23, 2010, 06:27:06 pm
>> and please leave the -static-libgcc -static-libstdc++ flags for brush and radiant

> can you tell me why this is needed? this isn't needed for cross-compile with mingw-cross-env

You do a static build on mingw-cross-env
that is the reason why you dont need it
But on Windows we still use shared libs
that is the reason why we need it
This parameter wont interfere with a static build (you include it because of -static)
but is is needed for a shared build

===========================================================================

The make pk3 error
can be fixed in to ways


This will force make to use zip on windows instead of 7z or 7za
Why: Because 7z is unable to handle a large parameter list, while zip does its job
This is as slow as usual
but -j3 will help (on a dual core)
Code: (data.mk) [Select]
define ZIP
- $(shell ([ -x "$$(which 7z 2> /dev/null)" -a $(OS) != "Windows_NT" ] && echo "7z a -tzip -mx=9") || ([ -x "$$(which 7z 2> /dev/null)" -a $(OS) != "Windows_NT" ] && echo "7z a -tzip -mx=9") || ([ -x "$$(which zip 2> /dev/null)" ] && echo "zip -u9"))
+ $(shell ([ $$OS != Windows_NT -a -x "$$(which 7z 2> /dev/null)" ] && echo "7z a -tzip -mx=9") || ([ $$OS != Windows_NT -a -x "$$(which 7za 2> /dev/null)" ] && echo "7za a -tzip -mx=9") || ([ -x "$$(which zip 2> /dev/null)" ] && echo "zip -u9"))
endef




This will use the internal search algorithm of 7z and zip to find all files
Its a lot faster, because make.exe dont need to do a lot of string manipulation
Make.exe is slow on windows (single threaded)
Code: (data.mk) [Select]
include build/pk3_def.mk

BASE_DIR = base
PAK_FILES_OUT = $(addprefix $(BASE_DIR)/,$(PAK_FILES))

pk3: $(PAK_FILES_OUT)

clean-pk3:
$(Q)rm -f $(PAK_FILES_OUT)

define FIND
$(shell find $(BASE_DIR)/$(1) -type f -print)
endef

define ZIP
$(shell ([ -x "$$(which 7z 2> /dev/null)" ] && echo "7z u -tzip -mx=9") || ([ -x "$$(which 7za 2> /dev/null)" ] && echo "7za u -tzip -mx=9") || ([ -x "$$(which zip 2> /dev/null)" ] && echo "zip -u9"))
endef

%.pk3 :
ifeq (7z,$(findstring 7z,$(call ZIP)))
   ifeq ($(OS),Windows_NT)
$(Q)cd $(BASE_DIR) ; cmd /c "$(call ZIP) $(filter -r,$(call $@)) $(notdir $@) $(filter-out -r,$(call $@))"
   else
$(Q)cd $(BASE_DIR) ; $(call ZIP) $(filter -r,$(call $@)) $(notdir $@) $(filter-out -r,$(call $@))
   endif
else
$(Q)cd $(BASE_DIR) ; $(call ZIP) $(filter -r,$(call $@)) $(notdir $@) . -i $(subst *,\*,$(filter-out -r,$(call $@)))
endif

define $(BASE_DIR)/0pics.pk3
-r pics/*.jpg pics/*.tga pics/*.png
endef

define $(BASE_DIR)/0textures.pk3
-r textures/*.jpg textures/*.tga textures/*.png
endef

define $(BASE_DIR)/0models.pk3
-r models/*.mdx models/*.md2 models/*.md3 models/*.dpm models/*.obj models/*.jpg models/*.png models/*.tga models/*.anm models/*.tag
endef

define $(BASE_DIR)/0models.pk3
-r models/*.mdx models/*.md2 models/*.md3 models/*.dpm models/*.obj models/*.jpg models/*.png models/*.tga models/*.anm models/*.tag
endef

define $(BASE_DIR)/0snd.pk3
-r sound/*.ogg sound/*.wav
endef

define $(BASE_DIR)/0music.pk3
music/*.ogg
endef

define $(BASE_DIR)/0maps.pk3
-r maps/*.bsp maps/*.ump
endef

define $(BASE_DIR)/0videos.pk3
-r videos/*.roq videos/*.ogm
endef

define $(BASE_DIR)/0media.pk3
media/*.ttf
endef

define $(BASE_DIR)/0shaders.pk3
shaders/*.glsl
endef

define $(BASE_DIR)/0ufos.pk3
-r ufos/*.ufo
endef

define $(BASE_DIR)/0materials.pk3
materials/*.mat
endef

define $(BASE_DIR)/0base.pk3
*.cfg mapcycle.txt irc_motd.txt ai/*.lua
endef
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 23, 2010, 07:06:55 pm
i will check it - why is the cmd /c needed? - it should be $(shell ...), no? (if needed at all)
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 23, 2010, 07:22:12 pm
i had to add -r to all other pk3 defines to make it work. it feels a lot faster here, too

thanks a lot
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 23, 2010, 07:26:58 pm
Code: [Select]
ifeq (7z,$(findstring 7z,$(call ZIP)))

is there any special reason that you only check 7z here? and not also 7za?
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 23, 2010, 07:44:28 pm
i've applied it to master without that Windows_NT hack - i would first like to know why it's needed and whether we can maybe work around this hack somehow.

it's tested on mac and linux and works fine there (and finally on more than one core - thanks a lot again)
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 23, 2010, 07:47:02 pm
> why is the cmd /c needed

7z recursive search will stuck
maybe a / path or winpath c:\... problem

> i had to add -r to all other pk3 defines to make it work.

Hmmm a bug?
On win it worked well
I'll test it tomorrow inside a real Linux VM

>> ifeq (7z,$(findstring 7z,$(call ZIP)))
> is there any special reason that you only check 7z here? and not also 7za
7z accrue in 7z and 7za
first i checked for zip, but 7z a -tzip  ;) url (http://math.unice.fr/laboratoire/help/info/make/make_74.html)
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 23, 2010, 07:51:38 pm
i've applied it to master without that Windows_NT hack

OS is an environment var in Win(nt)
Its also present inside of mingw
but no other machine should have it
at least not set to Windows_NT
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 23, 2010, 07:59:53 pm


define $(BASE_DIR)/0models.pk3
   -r models/*.mdx models/*.md2 models/*.md3 models/*.dpm models/*.obj models/*.jpg models/*.png models/*.tga models/*.anm models/*.tag
endef

is mirrored (bug)
you have to remove on
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: mikeg on October 23, 2010, 08:42:23 pm
Hello,

just a small improvement - see attached patch. I also want to get rid of the first tasks, I want to implement a caching function for all tasks in Makefile and friends, which take a long time (file system searches, git check, etc).

Just to explain why I want to do this, please correct me, if I'm not right with that: I use Mingw/Msys to compile on Windows 7. I just type make in msys shell and this is the time it takes for doing nothing:

Code: [Select]
$ time { make; }
make: Nothing to be done for `all'.

real    0m29.291s
user    0m9.715s
sys     0m18.212s

I see there are some time consuming tasks such as find and I love to see that tasks are only done if I want to do it, for example after a make clean. How long does a build on Linux or other machines takes of there is nothing to do?

Best regards
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 23, 2010, 11:41:21 pm
try make -r
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 23, 2010, 11:44:06 pm
here the time if nothing must be done.

real   0m1.381s
user   0m1.080s
sys   0m0.070s
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: mikeg on October 25, 2010, 08:35:56 pm
try make -r
Thank you, that worked fine. It's still 10 secs, but that seems to be because of my "old" hardware.
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Duke on October 25, 2010, 11:42:10 pm
real   0m1.381s
Hmmm. Still quite a lot of time for 'nothing to do' :(
Compared to the 0.00 secs C::B (with it's built-in 'make') needs for that...

Let's face it, the MAKE we are using doesn't seem to be suitable for Windoze systems (unless we ALL are too stupid to use it the right way). Isn't there some alternative (free & compatible) MAKE for Win users ?
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Destructavator on October 26, 2010, 05:41:35 am
Let's face it, the MAKE we are using doesn't seem to be suitable for Windoze systems (unless we ALL are too stupid to use it the right way). Isn't there some alternative (free & compatible) MAKE for Win users ?

I admit I don't know as much as the rest of you about the things in this discussion, but I will say that I've seen plenty of projects for Win32 that use a Windows version of MAKE or something based upon it - some are on SourceForge, but, would SCONS work at all for UFO:AI?  According to my research on it, SCONS was used to build the original GtkRadiant, I'd imagine it would build UFORadiant and then, with some work, the UFO AI game itself.  It's also cross-platform.

Hopefully there is something in that last paragraph that is at least somewhat helpful.
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 26, 2010, 10:42:43 am
make != make
There is MSYS make.exe
and mingw32-make.exe

MSYS is working well under MinGW
mingw32-make (used by C::B) will skip >any< find call
and thats the reason why its that fast
find: paths must precede expression: \!
Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]


I've recompiled MSYS make (very easy task)
and won 10sec by using the --enable-case-insensitive-file-system
but dropped it ...

To be honest
im using a linux VM for testing
its so much faster than MinGW
But you can run more MinGW shells one for "make ufo" another for "make pk3" ....
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Duke on October 26, 2010, 09:10:05 pm
mingw32-make (used by C::B) will skip >any< find call
and thats the reason why its that fast
Interesting. What are those find calls used for (in ufoai) if C::B can (safely ?) omit them ?
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Mattn on October 29, 2010, 10:09:14 am
btw. it would also be interesting if someone of you could get the ccache for win32 (http://code.google.com/p/ccache-win32/) working.
Title: Re: (log) Actually got new build system to (partially) work on Windows 7
Post by: Muton on October 31, 2010, 01:36:33 pm
2 ?bugs? found

1)make models
Doesn't compile ufomodel before mdx file creation
it does it at last
If you got ufomodel and call make models
you are doing your mdx files and at last ufomodel
Its the reverse order
But if i add the option -n "make models -B -j8 -n"
I'll get the cc build commands for ufomodel before ufomodel mdx creation (as it should be)
The behaver is the same on linux and the reson is the -jn option

2)make does a "reconfig"
Code: [Select]
cd /ufoai && ./configure --prefix=  --enable-static --enable-w2k --target-os=mingw32 && make ufoded Q= -B -j4 && make ufo Q= -B -j4 || exit 1 ; exit 0
Will build ufoded static and with w2k compatibility
but ufo.exe is dynamic and without w2k compatibility

./configure --prefix=  --enable-static --enable-w2k --enable-release --target-os=mingw32 && make models -B -j8
Enable static linking
Enable Windows 2000 compatibility
Compile for mingw32
Compile for i386
Compile in release mode
Found cc gcc
Found cxx g++
Using bindir /bin
Using datadir /games/ufoai
Using libdir /lib
Build modules:
Build game
Build testall
Build ufo
Build ufo2map
Build ufoded
Build ufomodel
Build uforadiant-brushexport
Build uforadiant
Use signal handler
Setting custom data directory
Setting custom library directory
Found xvid.h
Found theora/theora.h
Could not find execinfo.h
Found bfd.h
Found CUnit/Basic.h
Compile for mingw32
Compile for i386
Found cc gcc
Found cxx g++
Using bindir /usr/local/bin
Using datadir /usr/local/games/ufoai
Using libdir /usr/local/lib
Using prefix /usr/local
Build modules:
./ufomodel.exe -mdx -overwrite -v -s 0.7 -f models/aircraft/craft_arm_plate/plating.md2
make: ./ufomodel.exe: Command not found
make: *** [base/models/aircraft/craft_arm_plate/plating.mdx] Error 127
make: *** Waiting for unfinished jobs....
Build game
Build testall
Build ufo
Build ufo2map
Build ufoded
Build ufomodel
Build uforadiant-brushexport
Build uforadiant
Debug build
Use signal handler
Setting custom data directory
Setting custom library directory
Found xvid.h
Found theora/theora.h
Could not find execinfo.h
Found bfd.h
Found CUnit/Basic.h