|
From: Ryan P. <rpu...@gm...> - 2007-01-31 18:44:17
|
Is there a possibility that you could add the RUNTIME_LIBS variable to the bakefile scripts like wxWidgets has? The reason is because I compile wxWidgets with the run-time statically linked and you don't have an option for that. This would be set to the default of what it is currently. What do you think? -- Regards, Ryan RJP Computing |
|
From: Francesco M. <f18...@ya...> - 2007-01-31 23:13:05
|
Ryan Pusztai ha scritto: > Is there a possibility that you could add the RUNTIME_LIBS variable to > the bakefile scripts like wxWidgets has? The reason is because I > compile wxWidgets with the run-time statically linked and you don't > have an option for that. This would be set to the default of what it > is currently. > > What do you think? well, it won't be difficult to add it but I wonder how much it is useful... do you do that to create an app with fewer dynamic dependencies? Also, just out of curiosity, how much the size of the final EXE increases using RUNTIME_LIBS==static? Francesco |
|
From: Ryan P. <rpu...@gm...> - 2007-02-01 01:54:47
|
On 1/31/07, Francesco Montorsi <f18...@ya...> wrote: > well, it won't be difficult to add it but I wonder how much it is useful... do > you do that to create an app with fewer dynamic dependencies? Yes. This is always a debate, but Microsoft has ruined how easy it used to be to distribute the run-time in VC8.0 with there manifest tool. I hate it and I won't do it. My thought is if it is easy to implement then give the users the choice, right? Why would you have a static library and not make it completely dependency free? It just doesn't seem intuitive to me. If I want .dll's then of coarse I wouldn't mind the run-time dll, but otherwise I just like to make things simpler. > Also, just out of curiosity, how much the size of the final EXE increases using > RUNTIME_LIBS==static? I haven't got a definite answer for that. I don't think by very much. plus the size of the exe doesn't matter too much because generally using a large library like wxWidgets it make the executable larger anyways. You give up size for convenience. ;-) -- Regards, Ryan RJP Computing |
|
From: Francesco M. <f18...@ya...> - 2007-02-03 19:12:27
|
Ryan Pusztai ha scritto: > On 1/31/07, Francesco Montorsi <f18...@ya...> wrote: >> well, it won't be difficult to add it but I wonder how much it is useful... do >> you do that to create an app with fewer dynamic dependencies? > > Yes. This is always a debate, but Microsoft has ruined how easy it > used to be to distribute the run-time in VC8.0 with there manifest > tool. I hate it and I won't do it. My thought is if it is easy to > implement then give the users the choice, right? right. I've added the option in the CVS. If you could test it (making sure to link wxLua against a wxbuild with the same setting for RUNTIME_LIBS option), it would be great. Francesco |
|
From: Ryan P. <rpu...@gm...> - 2007-02-05 14:02:19
|
On 2/3/07, Francesco Montorsi <f18...@ya...> wrote: > right. I've added the option in the CVS. If you could test it (making > sure to link wxLua against a wxbuild with the same setting for > RUNTIME_LIBS option), it would be great. Thanks. Can't wait to try it. I can't seem to get to the CVS from work. The firewall is blocking. So... I tried the nightly snapshot and it doesn't appear to be in the archive. Any ideas how I can get the source so I can try it? You can mail me the source directly if you want. -- Regards, Ryan RJP Computing |
|
From: Francesco M. <f18...@ya...> - 2007-02-06 22:52:25
|
Ryan Pusztai ha scritto: > On 2/3/07, Francesco Montorsi <f18...@ya...> wrote: >> right. I've added the option in the CVS. If you could test it (making >> sure to link wxLua against a wxbuild with the same setting for >> RUNTIME_LIBS option), it would be great. > > Thanks. Can't wait to try it. > > I can't seem to get to the CVS from work. The firewall is blocking. > So... I tried the nightly snapshot and it doesn't appear to be in the > archive. I've checked and indeed there was a problem with snapshots generation (well, the problem was simply that "cvs update" was refusing to update the makefiles because of some conflicts). It should be solved now (look at the snapshot for feb 6). Francesco |
|
From: Ryan P. <rpu...@gm...> - 2007-02-09 14:53:20
|
On 2/6/07, Francesco Montorsi <f18...@ya...> wrote:
> I've checked and indeed there was a problem with snapshots generation
> (well, the problem was simply that "cvs update" was refusing to update
> the makefiles because of some conflicts). It should be solved now (look
> at the snapshot for feb 6).
I got it and it had the right files in it. MinGW works as expected. :-) But...
There is a problem with this addition.
Using Visual C++ to compile you are setting
__RUNTIME_LIBS = L
and it should be
__RUNTIME_LIBS = T
I don't know where that is in the bakefiles, but it is wrong in all
the makefiles.
Here is the whole statement
!if "$(RUNTIME_LIBS)" == "static"
__RUNTIME_LIBS = T
All of the libraries compile fine but I can't get lua.exe to compile.
It complains about duplicate C library entries.
Here is the compiler call:
cd D:\devel\lua\wxLua\build\msw
cd ..\..\apps\build\msw
nmake -f makefile.vc CC="cl" CXX="cl" CFLAGS="" CXXFLAGS=""
CPPFLAGS="" LDFLAGS="" BUILD="release" UNICODE="0"
SHARED="0" WX_DIR="D:\Devel\Libraries\wxWidgets2.8" WX_SHARED="0"
WX_VERSION="28" WX_MONOLITHIC="1" USE_APPS="1" USE
_SYSTEM_LUA="0" LUA_DIR="..\..\..\modules\lua" RUNTIME_LIBS="static"
USE_WXBINDSTC="1" USE_WXLUADEBUG="1" USE_WXLUASOC
KET="1" USE_LUAMODULE="1" USE_WXLUAAPP="1" USE_WXLUACANAPP="1"
WXSTEDIT_DIR="" USE_WXLUAEDITAPP="0" USE_WXLUAFREEZEA
PP="1"
Microsoft (R) Program Maintenance Utility Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.
if not exist vcmsw_ mkdir vcmsw_
cl /c /nologo /TC /Fovcmsw_\app_lua_lua.obj /MT /DWIN32
/D__WXMSW__ /ID:\Devel\Libraries\wxWidgets2.8\lib\vc
_lib\msw /ID:\Devel\Libraries\wxWidgets2.8\include /w /O2
/Fd..\..\..\bin\vc_lib\lua.pdb /I..\..\..\modules /I.\.
.\..\.. /I..\..\..\modules\lua\include /D_CONSOLE
/I..\..\..\modules\lua\include ..\..\..\modules\lua\src\lua.c
lua.c
link /NOLOGO /OUT:..\..\..\bin\vc_lib\lua.exe
/LIBPATH:D:\Devel\Libraries\wxWidgets2.8\lib\vc_lib /LIBPATH:..\
..\..\lib\vc_lib /LIBPATH:..\..\..\modules\lua\lib /SUBSYSTEM:CONSOLE
@C:\DOCUME~1\rpusztai\LOCALS~1\Temp\nm212.tmp
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _strstr already defined in
LIBCMT.lib(strstr.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _strchr already defined in
LIBCMT.lib(strchr.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _fclose already defined in
LIBCMT.lib(fclose.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: __errno already defined in
LIBCMT.lib(dosmap.obj)
...
LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of
other libs; use /NODEFAULTLIB:library
..\..\..\bin\vc_lib\lua.exe : fatal error LNK1169: one or more
multiply defined symbols found
NMAKE : fatal error U1077: 'link' : return code '0x491'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Platform
SDK\bin\nmake.exe"' : return code '0x2'
Stop.
Any thoughts? I see the /MD in the commandline. Are there differences
in the bakefile for lua.exe? I tried this in VC 8.0 as well. Same
errors.
--
Regards,
Ryan
RJP Computing
|
|
From: Francesco M. <f18...@ya...> - 2007-02-13 18:50:13
|
Ryan Pusztai ha scritto: > On 2/6/07, Francesco Montorsi <f18...@ya...> wrote: >> I've checked and indeed there was a problem with snapshots generation >> (well, the problem was simply that "cvs update" was refusing to update >> the makefiles because of some conflicts). It should be solved now (look >> at the snapshot for feb 6). > > I got it and it had the right files in it. MinGW works as expected. :-) But... > > > There is a problem with this addition. > Using Visual C++ to compile you are setting > > __RUNTIME_LIBS = L > > and it should be > > __RUNTIME_LIBS = T > > I don't know where that is in the bakefiles, but it is wrong in all > the makefiles. Thanks for testing. I've added also the THREADING option with a "multi" default which should fix the problem. Committed now. If you could test the tomorrow's snapshots it would be great ;) Francesco |
|
From: Hakki D. <dog...@tr...> - 2007-02-01 14:04:13
|
Hi, Hakki Dogusan yazmış: > Hi, > > Francesco Montorsi yazmış: > [snip] >> Also, just out of curiosity, how much the size of the final EXE increases using >> RUNTIME_LIBS==static? >> >> Francesco >> >> > > (WinXP, MinGW, wx-2.80) > > I'm using wxLua module like that; it is ~10Mb (with upx ~3Mb) > > Stupid Hakki! You're using RUNTIME_LIBS=dynamic for wx. Do not confuse it with using static wx libs! :-[ -- Regards, Hakki Dogusan |
|
From: Francesco M. <f18...@ya...> - 2007-02-03 18:50:39
|
Hakki Dogusan ha scritto: > Hi, > > Hakki Dogusan yazmış: >> Hi, >> >> Francesco Montorsi yazmış: >> [snip] >>> Also, just out of curiosity, how much the size of the final EXE increases using >>> RUNTIME_LIBS==static? >>> >>> Francesco >>> >>> >> (WinXP, MinGW, wx-2.80) >> >> I'm using wxLua module like that; it is ~10Mb (with upx ~3Mb) >> >> > > Stupid Hakki! You're using RUNTIME_LIBS=dynamic for wx. > Do not confuse it with using static wx libs! :D Francesco |
|
From: Doug C. <dou...@gm...> - 2007-02-01 14:10:31
|
On Wednesday, January 31, 2007 Francesco Montorsi wrote: > Also, just out of curiosity, how much the size of the final EXE increases using > RUNTIME_LIBS==static? WinXP MinGW wxMSW-2.8.0 (static) wxLua-2.8.0.0 (static) wxluasudoku.exe 7.90 MB (8,290,489 bytes) wxluasudoku_upx.exe 2.18 MB (2,291,385 bytes) e -- Doug Currie Londonderry, NH, USA |
|
From: Doug C. <dou...@gm...> - 2007-02-04 17:27:14
|
On Saturday, February 03, 2007 Francesco Montorsi wrote: > Doug Currie ha scritto: >> On Wednesday, January 31, 2007 Francesco Montorsi wrote: >> >>> Also, just out of curiosity, how much the size of the final EXE increases using >>> RUNTIME_LIBS==static? >> >> WinXP MinGW wxMSW-2.8.0 (static) wxLua-2.8.0.0 (static) >> >> wxluasudoku.exe 7.90 MB (8,290,489 bytes) >> >> wxluasudoku_upx.exe 2.18 MB (2,291,385 bytes) > sorry - are you sure you're using RUNTIME_LIBS==static and not rather > the SHARED=0 option? > It seems strange you're using RUNTIME_LIBS==static with wxLua also > because I haven't added support for it yet :D I am building with "../configure make" I am wondering what is NOT included in the exe (what are the external dependencies) when the "../configure make" option is used? Using Dependency Walker, I find only system DLLs in the list of dependencies. What else can be statically linked? e -- Doug Currie Londonderry, NH, USA |
|
From: Doug C. <dou...@gm...> - 2007-02-06 22:58:17
|
On Tuesday, February 06, 2007 Francesco Montorsi wrote: > Doug Currie ha scritto: >> [...] >> I am building with "../configure make" > with cygwin or msys under windows, I guess... Yes, MSYS on WinXP. >> I am wondering what is NOT included in the exe (what are the external >> dependencies) when the "../configure make" option is used? >> >> Using Dependency Walker, I find only system DLLs in the list of >> dependencies. What else can be statically linked? > those system DLLs :) Ah. A MinGW/MSYS user (such as myself) would rarely consider such a thing. > Well, really only the "msvcrt[d].dll" lib (or one with a very similar > name with e.g. the "71" or "8" digits appended), can be statically > linked. And you can obtain that compiling _all_ your code with the right > compiler flag (which I don't happen to remember right now). The right > compiler flag is enabled for wxWidgets compilation (and now also for > wxLua) using RUNTIME_LIBS=static option from command-like of win32-like > compilers (msvc, borland, maybe mingw). Yeah, probably not MinGW; from Earnie Boyd in 2002 http://www.cygwin.com/ml/cygwin/2002-07/msg02188.html > John Platts wrote: >> >> Why do mingw32 users continue to use a runtime library dependent of >> MSVCRT.DLL? > > Because that's what MinGW is. So, I guess there's nothing else for a MinGW user to gain from RUNTIME_LIBS=static. I suspect there's little for any Windows developer to gain unless the application has some dependency on a specific ("71" or "8" digits appended) version of MSVCRT. e -- Doug Currie Londonderry, NH, USA |
|
From: Francesco M. <f18...@ya...> - 2007-02-13 18:44:05
|
Doug Currie ha scritto:
>> John Platts wrote:
>>> Why do mingw32 users continue to use a runtime library dependent of
>>> MSVCRT.DLL?
>> Because that's what MinGW is.
>
> So, I guess there's nothing else for a MinGW user to gain from
> RUNTIME_LIBS=static.
>
> I suspect there's little for any Windows developer to gain unless the
> application has some dependency on a specific ("71" or "8" digits
> appended) version of MSVCRT.
I agree, but since it's not a big trouble to support that option... why not.
Francesco
|
|
From: Hakki D. <dog...@tr...> - 2007-02-01 13:34:32
|
Hi, Francesco Montorsi yazmış: [snip] > > Also, just out of curiosity, how much the size of the final EXE increases using > RUNTIME_LIBS==static? > > Francesco > > (WinXP, MinGW, wx-2.80) I'm using wxLua module like that; it is ~10Mb (with upx ~3Mb) -- Regards, Hakki Dogusan |
|
From: Francesco M. <f18...@ya...> - 2007-02-03 18:55:16
|
Doug Currie ha scritto: > On Wednesday, January 31, 2007 Francesco Montorsi wrote: > >> Also, just out of curiosity, how much the size of the final EXE increases using >> RUNTIME_LIBS==static? > > WinXP MinGW wxMSW-2.8.0 (static) wxLua-2.8.0.0 (static) > > wxluasudoku.exe 7.90 MB (8,290,489 bytes) > > wxluasudoku_upx.exe 2.18 MB (2,291,385 bytes) sorry - are you sure you're using RUNTIME_LIBS==static and not rather the SHARED=0 option? It seems strange you're using RUNTIME_LIBS==static with wxLua also because I haven't added support for it yet :D Francesco |
|
From: Francesco M. <f18...@ya...> - 2007-02-06 22:19:03
|
Doug Currie ha scritto: > On Saturday, February 03, 2007 Francesco Montorsi wrote: > >> Doug Currie ha scritto: >>> On Wednesday, January 31, 2007 Francesco Montorsi wrote: >>> >>>> Also, just out of curiosity, how much the size of the final EXE increases using >>>> RUNTIME_LIBS==static? >>> WinXP MinGW wxMSW-2.8.0 (static) wxLua-2.8.0.0 (static) >>> >>> wxluasudoku.exe 7.90 MB (8,290,489 bytes) >>> >>> wxluasudoku_upx.exe 2.18 MB (2,291,385 bytes) >> sorry - are you sure you're using RUNTIME_LIBS==static and not rather >> the SHARED=0 option? > >> It seems strange you're using RUNTIME_LIBS==static with wxLua also >> because I haven't added support for it yet :D > > I am building with "../configure make" with cygwin or msys under windows, I guess... > I am wondering what is NOT included in the exe (what are the external > dependencies) when the "../configure make" option is used? > > Using Dependency Walker, I find only system DLLs in the list of > dependencies. What else can be statically linked? those system DLLs :) Well, really only the "msvcrt[d].dll" lib (or one with a very similar name with e.g. the "71" or "8" digits appended), can be statically linked. And you can obtain that compiling _all_ your code with the right compiler flag (which I don't happen to remember right now). The right compiler flag is enabled for wxWidgets compilation (and now also for wxLua) using RUNTIME_LIBS=static option from command-like of win32-like compilers (msvc, borland, maybe mingw). Francesco |