OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # coding: utf-8 | 2 # coding: utf-8 |
3 """This script fixes the support of manually compiled static libraries for | 3 """This script fixes the support of manually compiled static libraries for |
4 android NDK build system. | 4 android NDK build system. |
5 | 5 |
6 Issue: | 6 Issue: |
7 Let's say there are some manually compiled libraries specified in | 7 Let's say there are some manually compiled libraries specified in |
8 link_settings.libraries or in ldflags of a gyp file. In this case ndk-build | 8 link_settings.libraries or in ldflags of a gyp file. In this case ndk-build |
9 passes them to a linker after system libraries, like c++_static, and | 9 passes them to a linker after system libraries, like c++_static, and |
10 as the result linker cannot find functions from system libraries. | 10 as the result linker cannot find functions from system libraries. |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 if variable == "LOCAL_STATIC_LIBRARIES": | 111 if variable == "LOCAL_STATIC_LIBRARIES": |
112 value_list.append("${ABP_STATIC_LIBRARIES_${BUILDTYPE}}") | 112 value_list.append("${ABP_STATIC_LIBRARIES_${BUILDTYPE}}") |
113 orig_WriteList(value_list, variable, prefix, quoter) | 113 orig_WriteList(value_list, variable, prefix, quoter) |
114 self.WriteList = types.MethodType(overridden_WriteList, self) | 114 self.WriteList = types.MethodType(overridden_WriteList, self) |
115 orig_MakefileWriter_WriteAndroidNdkModuleRule(self, module_name, all_sources
, link_deps) | 115 orig_MakefileWriter_WriteAndroidNdkModuleRule(self, module_name, all_sources
, link_deps) |
116 self.WriteList = orig_WriteList | 116 self.WriteList = orig_WriteList |
117 | 117 |
118 MakefileWriter.Write = overridden_Write | 118 MakefileWriter.Write = overridden_Write |
119 MakefileWriter.WriteAndroidNdkModuleRule = overridden_WriteAndroidNdkModuleRule | 119 MakefileWriter.WriteAndroidNdkModuleRule = overridden_WriteAndroidNdkModuleRule |
120 | 120 |
| 121 # Issue 5393 |
| 122 # replace $(LD_INPUTS) by "-Wl,--start-group $(LD_INPUTS) -Wl,--end-group" but o
nly for cmd_link_host |
| 123 gyp.generator.make.LINK_COMMANDS_ANDROID = \ |
| 124 gyp.generator.make.LINK_COMMANDS_ANDROID[:663] + \ |
| 125 "-Wl,--start-group $(LD_INPUTS) -Wl,--end-group" + \ |
| 126 gyp.generator.make.LINK_COMMANDS_ANDROID[675:] |
| 127 |
121 if __name__ == '__main__': | 128 if __name__ == '__main__': |
122 gyp.main(sys.argv[1:]) | 129 gyp.main(sys.argv[1:]) |
OLD | NEW |