Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency

2014-05-05 Thread Adrien Nader
Hi,

On Mon, May 05, 2014, YIRAN LI wrote:
 Hi,
 
 I'm building an opensource project on mingw32 and found the generated dll
 depends on  libgcc_s_sjlj-1.dll. The function referenced is __divdi3.
 
 I tried to add ldflags = -static- libgcc, but seems it doesn't work.
 
 Could any one let me know how can I get rid of this dependency?

Not something I usually do and top of my head, so this might not be
enough. The flags you use should rather be -static -static-libgcc
(both of them and notice the different spelling).

HTH,
Adrien Nader

--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency

2014-05-05 Thread YIRAN LI
2014-05-05 17:32 GMT+10:00 lh_mouse lh_mo...@126.com:

 0) Try -static first. I have been using this option since long ago and it
 never fails;
 1) Try -static-libgcc -static-libstdc++. These two should be used
 together. Using only one of them does not work, at least on my machine.
 2) There is no space in '-static-libgcc'.


Thanks, I used -static, but seems it causes the project to generate static
libs instead of dlls. I think it should be the problem of the project
(libtheora) and I've sent out a mail to libtheora's mail list.


--
 Best regards,
 lh_mouse
 2014-05-05

 -
 发件人:YIRAN LI mrfun.ch...@gmail.com
 发送日期:2014-05-05 15:19
 收件人:mingw-w64-public
 抄送:
 主题:[Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency

 Hi,

 I'm building an opensource project on mingw32 and found the generated dll
 depends on  libgcc_s_sjlj-1.dll. The function referenced is __divdi3.

 I tried to add ldflags = -static- libgcc, but seems it doesn't work.

 Could any one let me know how can I get rid of this dependency?

 Thanks



 --
 Is your legacy SCM system holding you back? Join Perforce May 7 to find
 out:
 #149; 3 signs your SCM is hindering your productivity
 #149; Requirements for releasing software faster
 #149; Expert tips and advice for migrating your SCM now
 http://p.sf.net/sfu/perforce
 ___
 Mingw-w64-public mailing list
 Mingw-w64-public@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency

2014-05-05 Thread Alexpux

05 мая 2014 г., в 12:22, YIRAN LI mrfun.ch...@gmail.com написал(а):

 
 
 
 2014-05-05 17:32 GMT+10:00 lh_mouse lh_mo...@126.com:
 0) Try -static first. I have been using this option since long ago and it 
 never fails;
 1) Try -static-libgcc -static-libstdc++. These two should be used together. 
 Using only one of them does not work, at least on my machine.
 2) There is no space in '-static-libgcc'.
 
 
 Thanks, I used -static, but seems it causes the project to generate static 
 libs instead of dlls. I think it should be the problem of the project 
 (libtheora) and I've sent out a mail to libtheora's mail list.
 
 
Use -static you always get only static libs.
 --
 Best regards,
 lh_mouse
 2014-05-05
 
 -
 发件人:YIRAN LI mrfun.ch...@gmail.com
 发送日期:2014-05-05 15:19
 收件人:mingw-w64-public
 抄送:
 主题:[Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency
 
 Hi,
 
 I'm building an opensource project on mingw32 and found the generated dll
 depends on  libgcc_s_sjlj-1.dll. The function referenced is __divdi3.
 
 I tried to add ldflags = -static- libgcc, but seems it doesn't work.
 
 Could any one let me know how can I get rid of this dependency?
 
 Thanks
 
 
 --
 Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
 #149; 3 signs your SCM is hindering your productivity
 #149; Requirements for releasing software faster
 #149; Expert tips and advice for migrating your SCM now
 http://p.sf.net/sfu/perforce
 ___
 Mingw-w64-public mailing list
 Mingw-w64-public@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
 
 --
 Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
 #149; 3 signs your SCM is hindering your productivity
 #149; Requirements for releasing software faster
 #149; Expert tips and advice for migrating your SCM now
 http://p.sf.net/sfu/perforce___
 Mingw-w64-public mailing list
 Mingw-w64-public@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency

2014-05-05 Thread lh_mouse
It is possible to build a DLL with -static. You may need --enable-shared or 
something if you are using configure script (I am not familiar with it though).
When you specify -static or -static-libgcc -static-libstdc++, g++ links against 
libgcc_eh.a rather than libgcc_s.a. These two files are in different folders.

--   
Best regards,
lh_mouse
2014-05-05

-
发件人:YIRAN LI mrfun.ch...@gmail.com
发送日期:2014-05-05 16:34
收件人:mingw-w64-public
抄送:
主题:Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency

2014-05-05 18:28 GMT+10:00 Alexpux alex...@gmail.com:


 05 мая 2014 г., в 12:22, YIRAN LI mrfun.ch...@gmail.com написал(а):




 2014-05-05 17:32 GMT+10:00 lh_mouse lh_mo...@126.com:

 0) Try -static first. I have been using this option since long ago and it
 never fails;
 1) Try -static-libgcc -static-libstdc++. These two should be used
 together. Using only one of them does not work, at least on my machine.
 2) There is no space in '-static-libgcc'.


 Thanks, I used -static, but seems it causes the project to generate static
 libs instead of dlls. I think it should be the problem of the project
 (libtheora) and I've sent out a mail to libtheora's mail list.


 Use -static you always get only static libs.


Thanks, then -static is not what I want. I need dlls. but these dlls can't
be dynamically linked to libgcc.

I also checked MinGW folder

hxuanyu-nch@hxuanyu-PC/cygdrive/c/i686-4.9.0-release-win32-sjlj-rt_v3-rev1/mingw32
$ find ./ -name libgcc.a
./lib/gcc/i686-w64-mingw32/4.9.0/64/libgcc.a
./lib/gcc/i686-w64-mingw32/4.9.0/libgcc.a

hxuanyu-nch@hxuanyu-PC/cygdrive/c/i686-4.9.0-release-win32-sjlj-rt_v3-rev1/mingw32
$ find ./ -name libgcc_s.a
./i686-w64-mingw32/lib/libgcc_s.a
./i686-w64-mingw32/lib64/libgcc_s.a
./lib/gcc/i686-w64-mingw32/lib/libgcc_s.a
./lib/gcc/i686-w64-mingw32/lib64/libgcc_s.a

see that there's no libgcc_s.a in ./lib/gcc/i686-w64-mingw32/4.9.0, I'm not
sure if I specify -static-libgcc, ld could find correct libgcc_s.a

Thanks




--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency

2014-05-05 Thread Rafaël Carré
On 05/05/14 09:19, YIRAN LI wrote:
 Hi,
 
 I'm building an opensource project on mingw32 and found the generated dll
 depends on  libgcc_s_sjlj-1.dll. The function referenced is __divdi3.
 
 I tried to add ldflags = -static- libgcc, but seems it doesn't work.
 
 Could any one let me know how can I get rid of this dependency?
 
 Thanks

See http://people.videolan.org/~funman/win/howto-gcc

--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency

2014-05-05 Thread YIRAN LI
2014-05-05 20:42 GMT+10:00 Rafaël Carré fun...@videolan.org:

 On 05/05/14 09:19, YIRAN LI wrote:
  Hi,
 
  I'm building an opensource project on mingw32 and found the generated dll
  depends on  libgcc_s_sjlj-1.dll. The function referenced is __divdi3.
 
  I tried to add ldflags = -static- libgcc, but seems it doesn't work.
 
  Could any one let me know how can I get rid of this dependency?
 
  Thanks

 See http://people.videolan.org/~funman/win/howto-gcc


Thanks Rafael,

The script seems doesn't work on my machine. I'm using
i686-4.8.2-release-win32-sjlj-rt_v3-rev3, but gcc -v prints nothing
containing LIBRARY_PATH.

What the script does is remove libgcc_s_sjlj-1.dll (I only need to remove
the dependency on libgcc). I manually moved libgcc_s_sjlj-1.dll and
libgcc.a. And then ln -s libgcc_eh.a libgcc_s.a

But libtheora can't pass ./configure. ld.exe can't find -lgcc. I have to
put libgcc_s_sjlj-1.dll and libgcc.a back to get configure and build
succeed.

Thanks

--
 Is your legacy SCM system holding you back? Join Perforce May 7 to find
 out:
 #149; 3 signs your SCM is hindering your productivity
 #149; Requirements for releasing software faster
 #149; Expert tips and advice for migrating your SCM now
 http://p.sf.net/sfu/perforce
 ___
 Mingw-w64-public mailing list
 Mingw-w64-public@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency

2014-05-05 Thread Rafaël Carré
On 05/05/14 13:51, YIRAN LI wrote:
 2014-05-05 20:42 GMT+10:00 Rafaël Carré fun...@videolan.org:
 
 On 05/05/14 09:19, YIRAN LI wrote:
 Hi,

 I'm building an opensource project on mingw32 and found the generated dll
 depends on  libgcc_s_sjlj-1.dll. The function referenced is __divdi3.

 I tried to add ldflags = -static- libgcc, but seems it doesn't work.

 Could any one let me know how can I get rid of this dependency?

 Thanks

 See http://people.videolan.org/~funman/win/howto-gcc


 Thanks Rafael,
 
 The script seems doesn't work on my machine. I'm using
 i686-4.8.2-release-win32-sjlj-rt_v3-rev3, but gcc -v prints nothing
 containing LIBRARY_PATH.
 
 What the script does is remove libgcc_s_sjlj-1.dll (I only need to remove
 the dependency on libgcc). I manually moved libgcc_s_sjlj-1.dll and
 libgcc.a. And then ln -s libgcc_eh.a libgcc_s.a
 
 But libtheora can't pass ./configure. ld.exe can't find -lgcc. I have to
 put libgcc_s_sjlj-1.dll and libgcc.a back to get configure and build
 succeed.
 
 Thanks

What is your distro?

I tested it on gcc builds of archlinux and debian

--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency

2014-05-05 Thread Teemu Nätkinniemi
On 5.5.2014 10:19, YIRAN LI wrote:
 I'm building an opensource project on mingw32 and found the generated
 dll depends on  libgcc_s_sjlj-1.dll. The function referenced is __divdi3.

 I tried to add ldflags = -static- libgcc, but seems it doesn't work.

 Could any one let me know how can I get rid of this dependency?

This should work:

CC='gcc -static-libgcc -static-libstdc++' CXX='g++ -static-libgcc 
-static-libstdc++' ./configure



--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency

2014-05-05 Thread Adrien Nader
On Mon, May 05, 2014, YIRAN LI wrote:
 2014-05-05 17:32 GMT+10:00 lh_mouse lh_mo...@126.com:
 
  0) Try -static first. I have been using this option since long ago and it
  never fails;
  1) Try -static-libgcc -static-libstdc++. These two should be used
  together. Using only one of them does not work, at least on my machine.
  2) There is no space in '-static-libgcc'.
 
 
 Thanks, I used -static, but seems it causes the project to generate static
 libs instead of dlls. I think it should be the problem of the project
 (libtheora) and I've sent out a mail to libtheora's mail list.

You use -static and possible -static-something when building the final
executable and only it.

If you are not able to easily single out the build of the final
executable (because it is a tool built as part of a larger project), a
very efficient way is to build as usual, find the corresponding
compilation command, copy-paste it and add -static yourself.

It's not terribly clean but it's the easiest way to do it.

-- 
Adrien Nader

--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] how to remove libgcc_s_sjlj-1.dll dependency

2014-05-05 Thread YIRAN LI
2014-05-05 22:16 GMT+10:00 Teemu Nätkinniemi tnatk...@gmail.com:

 On 5.5.2014 10:19, YIRAN LI wrote:
  I'm building an opensource project on mingw32 and found the generated
  dll depends on  libgcc_s_sjlj-1.dll. The function referenced is __divdi3.
 
  I tried to add ldflags = -static- libgcc, but seems it doesn't work.
 
  Could any one let me know how can I get rid of this dependency?

 This should work:

 CC='gcc -static-libgcc -static-libstdc++' CXX='g++ -static-libgcc
 -static-libstdc++' ./configure

 This works for me!
I used CC='gcc -static-libgcc' and got what I want. What I used before that
didn't work was ./configure --enable-shared --disable-static
CFLAGS='-static-libgcc'.
Maybe cflags were wrongly ordered. Anyway, I'm able to statically build
now. Thanks to all of your guys




 --
 Is your legacy SCM system holding you back? Join Perforce May 7 to find
 out:
 #149; 3 signs your SCM is hindering your productivity
 #149; Requirements for releasing software faster
 #149; Expert tips and advice for migrating your SCM now
 http://p.sf.net/sfu/perforce
 ___
 Mingw-w64-public mailing list
 Mingw-w64-public@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public