wangyu5 / gyp

Automatically exported from code.google.com/p/gyp
0 stars 0 forks source link

remove automatic feature detection #250

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I added code to gyp to attempt to auto-configure various system settings (like 
LINKER_USES_ICF).  With more perspective I think this was a mistake.  It makes 
things unpredictable as to which flags you're getting and it is complicated in 
the presence of cross compiles.  We should remove all of the system test code 
from gyp.

Original issue reported on code.google.com by evan@chromium.org on 8 Feb 2012 at 8:08

GoogleCodeExporter commented 9 years ago
Commit: 6a2d06941eafe51ad7143cc680f21bdd9a0cba9f
 Email: evan@chromium.org@78cadc50-ecff-11dd-a971-7dbc132099af

linux: drop LINKER_SUPPORTS_ICF flag

Rather than attempting to detect this at gyp time, leave it up to
the author of the gyp file to set or unset this flag.

BUG=gyp:250

Review URL: https://chromiumcodereview.appspot.com/9361042

git-svn-id: http://gyp.googlecode.com/svn/trunk@1189 
78cadc50-ecff-11dd-a971-7dbc132099af

M   pylib/gyp/generator/dump_dependency_json.py
M   pylib/gyp/generator/make.py
M   pylib/gyp/generator/ninja.py
M   pylib/gyp/system_test.py

Original comment by bugdroid1@chromium.org on 8 Feb 2012 at 10:22

GoogleCodeExporter commented 9 years ago
Commit: e7383d2865306c880894d41ed18e3ed216e43734
 Email: evan@chromium.org@78cadc50-ecff-11dd-a971-7dbc132099af

linux: drop detection of --threads flag to the linker

This is now the responsibility of the gyp file to set.

BUG=gyp:250

Review URL: https://chromiumcodereview.appspot.com/9372006

git-svn-id: http://gyp.googlecode.com/svn/trunk@1190 
78cadc50-ecff-11dd-a971-7dbc132099af

M   pylib/gyp/generator/make.py
M   pylib/gyp/generator/ninja.py
M   pylib/gyp/system_test.py

Original comment by bugdroid1@chromium.org on 9 Feb 2012 at 2:22

GoogleCodeExporter commented 9 years ago
Commit: 858ea7252b82b8675959ec417fe7d57a32ebd5c2
 Email: evan@chromium.org@78cadc50-ecff-11dd-a971-7dbc132099af

make: drop all system tests

Rather than probing for ARFLAGS at gyp type, just always use "crs".
This will change systems that use thin archives to start using "fat"
archives.  A subsequent change will allow the outer project to control
this setting.

BUG=gyp:250

Review URL: https://chromiumcodereview.appspot.com/9414019

git-svn-id: http://gyp.googlecode.com/svn/trunk@1208 
78cadc50-ecff-11dd-a971-7dbc132099af

M   pylib/gyp/generator/make.py
M   pylib/gyp/generator/ninja.py
D   pylib/gyp/system_test.py

Original comment by bugdroid1@chromium.org on 16 Feb 2012 at 9:55

GoogleCodeExporter commented 9 years ago
Done?

Original comment by thestig@chromium.org on 9 Mar 2012 at 8:14

GoogleCodeExporter commented 9 years ago
I had to revert r1208.  Chrome on Linux can't build without thin archives 
anymore, but android can't build *with* thin archives, I think.

Original comment by evan@chromium.org on 9 Mar 2012 at 10:24

GoogleCodeExporter commented 9 years ago
Skia is interested in building a static library that can be linked against 
outside of gyp.  We need a way to optionally build a target as a "fat" archive. 
 Right now, it looks like there's no way around the hard-coded -T flag.  Is 
there, or will there be, a workaround?  Making local changes doesn't cut it.

Original comment by bore...@google.com on 4 Sep 2012 at 9:26

GoogleCodeExporter commented 9 years ago
Evan, the android version of ar should work fine with thin archives now, but 
the autodetection logic fails because the `%(cc)s test.a` step fails to link 
due to android CRT weirdness.

I can fix it by changing the link command there to be `%(cc)s -r -nostdlib 
test.a` (which also works on Linux) and then android is correctly detected as 
supporting thin archives, but would it be better to just remove the test and 
always use the thin flag?

Original comment by torne@chromium.org on 24 Sep 2012 at 2:03

GoogleCodeExporter commented 9 years ago

Original comment by torne@chromium.org on 24 Sep 2012 at 2:03

GoogleCodeExporter commented 9 years ago
I think it'd be nice to just always use the thin flag (I even tried to do this 
in the past, but ran into this Android problem).  You might want to figure out 
whether it breaks Mac.  It might be worth just hardcoding on for Linux and off 
for others.

Original comment by evan@chromium.org on 24 Sep 2012 at 5:00

GoogleCodeExporter commented 9 years ago
Fixed in gyp r1507, rolled into chromium with r158862. make builds now always 
use thin archives on Linux and Android, and system_test is gone.

Original comment by torne@chromium.org on 27 Sep 2012 at 10:15