[packages/chromium-browser/DEVEL: 23/26] fixes to make build with nacl

glen glen at pld-linux.org
Wed Jan 2 21:02:00 CET 2013


commit 8fb1dc987820a82842308c99b1a1206e52ca5171
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Wed Jan 2 21:22:49 2013 +0200

    fixes to make build with nacl

 chromium-browser.spec |   9 ++-
 nacl-no-untar.patch   | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++
 no-pnacl.patch        |  11 ++++
 3 files changed, 175 insertions(+), 3 deletions(-)
---
diff --git a/chromium-browser.spec b/chromium-browser.spec
index b436bb2..b489664 100644
--- a/chromium-browser.spec
+++ b/chromium-browser.spec
@@ -97,6 +97,7 @@ Patch18:	nacl-no-untar.patch
 Patch19:	system-jsoncpp.patch
 Patch21:	system-srtp.patch
 Patch22:	pulse_fix-157876.patch
+Patch23:	no-pnacl.patch
 URL:		http://www.chromium.org/Home
 %{?with_gconf:BuildRequires:	GConf2-devel}
 BuildRequires:	OpenGL-GLU-devel
@@ -251,6 +252,7 @@ cd src
 %patch22 -p1
 cd ..
 %patch18 -p1
+%patch23 -p1
 
 cd src
 
@@ -328,15 +330,16 @@ test -e Makefile || %{__python} build/gyp_chromium --format=make build/all.gyp \
 	-Dffmpeg_branding=Chrome \
 	-Dproprietary_codecs=1 \
 %if %{with nacl}
-	-Ddisable_glibc=1 \
 	-Dnaclsdk_mode=custom:/usr/x86_64-nacl \
 	-Ddisable_glibc_untar=1 \
 	-Ddisable_newlib_untar=1 \
-	-Ddisable_pnacl_untar=1 \
+	-Ddisable_glibc=1 \
+	-Ddisable_pnacl=1 \
+	-Dbuild_pnacl_newlib=0 \
 %else
+	-Ddisable_pnacl_untar=1 \
 	-Ddisable_nacl=1 \
 %endif
-	-Ddisable_pnacl=1 \
 	%{!?with_sse2:-Ddisable_sse2=1} \
 	%{?with_selinux:-Dselinux=1} \
 	%{gyp_with cups} \
diff --git a/nacl-no-untar.patch b/nacl-no-untar.patch
index a3105a1..e9ad5c6 100644
--- a/nacl-no-untar.patch
+++ b/nacl-no-untar.patch
@@ -126,3 +126,161 @@
                '>@(extra_args)',
                '--arch', 'pnacl',
                '--build', 'newlib_plib',
+--- chromium-browser-24.0.1312.45/src/native_client/tools.gyp~	2012-12-19 10:04:23.000000000 +0200
++++ chromium-browser-24.0.1312.45/src/native_client/tools.gyp	2013-01-01 23:40:30.933802957 +0200
+@@ -44,6 +44,17 @@
+         'pnacl_dir': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_pnacl',
+       },
+       'conditions': [
++        # create stamp.untar that build system depends on
++        ['disable_newlib==0 and disable_newlib_untar==1', {
++          'actions': [
++           {
++              'action_name': 'Touch newlib',
++              'outputs': ['>(newlib_dir)/stamp.untar'],
++              'inputs': [], # input is required. so let it be empty
++              'action': ['touch', '<@(_outputs)'],
++          },
++          ],
++        }],
+         ['disable_newlib==0 and disable_newlib_untar==0', {
+           'actions': [
+             {
+--- chromium-browser-24.0.1312.45/src/native_client/build/untrusted.gypi	2013-01-01 23:08:43.214443900 +0200
++++ chromium-browser-24.0.1312.45-almost-there/src/native_client/build/untrusted.gypi	2013-01-01 22:50:53.863859341 +0200
+@@ -142,6 +142,8 @@
+              'variables': {
+                 'tool_name': 'newlib',
+                 'inst_dir': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib',
++# make semaphore.h visible for base/shared_memory_nacl.cc compilation
++				'newlib_dir': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/x86_64-nacl',
+                 'out_newlib64%': '<(PRODUCT_DIR)/>(nexe_target)_newlib_x64.nexe',
+                 'objdir_newlib64%': '>(INTERMEDIATE_DIR)/<(tool_name)-x86-64/>(_target_name)',
+                 'source_list_newlib64%': '<(tool_name)-x86-64.>(_target_name).source_list.gypcmd',
+@@ -169,11 +171,14 @@
+                    '--root', '<(DEPTH)',
+                    '--name', '>(out_newlib64)',
+                    '--objdir', '>(objdir_newlib64)',
+-                   '--include-dirs=<(inst_dir)/include ^(include_dirs) >(_include_dirs)',
++# FIXED
++                   '--include-dirs=<(inst_dir)/include ^(include_dirs) <(newlib_dir)/include >(_include_dirs)',
+                    '--lib-dirs=>(lib_dirs_newlib64) ',
+                    '--compile_flags=-m64 ^(newlib_tls_flags) ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+                    '--defines=^(defines) >(_defines)',
+-                   '--link_flags=-B<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64 ^(link_flags) >(_link_flags)',
++# -B<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64
++# ./src/out/Release/obj/gen/sdk/toolchain/linux_x86_newlib/x86_64-nacl/lib/crt1.o
++                   '--link_flags=-B<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib64 -B<(newlib_dir)/lib ^(link_flags) >(_link_flags)',
+                    '--source-list=^|(<(source_list_newlib64) ^(_sources) ^(sources))',
+                  ],
+                },
+@@ -183,6 +188,8 @@
+              'variables': {
+                 'tool_name': 'newlib',
+                 'inst_dir': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib',
++# make semaphore.h visible for base/shared_memory_nacl.cc compilation
++				'newlib_dir': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/x86_64-nacl',
+                 'objdir_newlib64%': '>(INTERMEDIATE_DIR)/<(tool_name)-x86-64/>(_target_name)',
+                 'source_list_newlib64%': '<(tool_name)-x86-64.>(_target_name).source_list.gypcmd',
+                 'out_newlib64%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool_name)/lib64/>(nlib_target)',
+@@ -210,7 +217,19 @@
+                    '--root', '<(DEPTH)',
+                    '--name', '>(out_newlib64)',
+                    '--objdir', '>(objdir_newlib64)',
+-                   '--include-dirs=<(inst_dir)/include ^(include_dirs) >(_include_dirs)',
++#XXX
++#glen at carme-pld src/base $ find .. -name semaphore.h
++#../native_client/src/untrusted/pthread/semaphore.h
++#../native_client_sdk/src/libraries/third_party/pthreads-win32/semaphore.h
++#../out/Release/obj/gen/sdk/toolchain/linux_x86_newlib/x86_64-nacl/include/semaphore.h
++#../out/Release/obj/gen/sdk/toolchain/linux_x86_pnacl/newlib/sdk/include/include/semaphore.h
++#
++#-I/home/users/glen/rpm/packages/chromium-browser/autoupdate/beta/BU
++#ILD/chromium-browser-24.0.1312.45/src/out/Release/obj/gen/tc_newlib/include
++#                'inst_dir': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib',
++#				'newlib_dir__': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib',
++
++                   '--include-dirs=<(inst_dir)/include ^(include_dirs) <(newlib_dir)/include >(_include_dirs)',
+                    '--lib-dirs=>(lib_dirs_newlib64) ',
+                    '--compile_flags=-m64 ^(newlib_tls_flags) ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+                    '--defines=^(defines) >(_defines)',
+@@ -224,6 +243,8 @@
+              'variables': {
+                 'tool_name': 'newlib',
+                 'inst_dir': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib',
++# make semaphore.h visible for base/shared_memory_nacl.cc compilation
++				'newlib_dir': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/x86_64-nacl',
+                 'out_newlib32%': '<(PRODUCT_DIR)/>(nexe_target)_newlib_x32.nexe',
+                 'objdir_newlib32%': '>(INTERMEDIATE_DIR)/<(tool_name)-x86-32/>(_target_name)',
+                 'source_list_newlib32%': '<(tool_name)-x86-32.>(_target_name).source_list.gypcmd',
+@@ -251,11 +272,12 @@
+                    '--root', '<(DEPTH)',
+                    '--name', '>(out_newlib32)',
+                    '--objdir', '>(objdir_newlib32)',
+-                   '--include-dirs=<(inst_dir)/include ^(include_dirs) >(_include_dirs)',
++# FIXED
++                   '--include-dirs=<(inst_dir)/include ^(include_dirs) <(newlib_dir)/include >(_include_dirs)',
+                    '--lib-dirs=>(lib_dirs_newlib32)',
+                    '--compile_flags=-m32 ^(newlib_tls_flags) ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+                    '--defines=^(defines) >(_defines)',
+-                   '--link_flags=-m32 -B<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32 ^(link_flags) >(_link_flags)',
++                   '--link_flags=-m32 -B<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32 -B<(newlib_dir)/lib ^(link_flags) >(_link_flags)',
+                    '--source-list=^|(<(source_list_newlib32) ^(_sources) ^(sources))',
+                  ],
+                },
+@@ -265,6 +287,8 @@
+              'variables': {
+                 'tool_name': 'newlib',
+                 'inst_dir': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib',
++# make semaphore.h visible for base/shared_memory_nacl.cc compilation
++				'newlib_dir': '<(SHARED_INTERMEDIATE_DIR)/sdk/toolchain/<(OS)_x86_newlib/x86_64-nacl',
+                 'out_newlib32%': '<(SHARED_INTERMEDIATE_DIR)/tc_<(tool_name)/lib32/>(nlib_target)',
+                 'objdir_newlib32%': '>(INTERMEDIATE_DIR)/<(tool_name)-x86-32/>(_target_name)',
+                 'source_list_newlib32%': '<(tool_name)-x86-32.>(_target_name).source_list.gypcmd',
+@@ -292,7 +316,8 @@
+                    '--root', '<(DEPTH)',
+                    '--name', '>(out_newlib32)',
+                    '--objdir', '>(objdir_newlib32)',
+-                   '--include-dirs=<(inst_dir)/include ^(include_dirs) >(_include_dirs)',
++# FIXED
++                   '--include-dirs=<(inst_dir)/include ^(include_dirs) <(newlib_dir)/include >(_include_dirs)',
+                    '--lib-dirs=>(lib_dirs_newlib32)',
+                    '--compile_flags=-m32 ^(newlib_tls_flags) ^(gcc_compile_flags) >(_gcc_compile_flags) ^(compile_flags) >(_compile_flags)',
+                    '--defines=^(defines) >(_defines)',
+#--- /home/users/glen/rpm/packages/chromium-browser/autoupdate/beta/BUILD/chromium-browser-24.0.1312.45/src/native_client/src/untrusted/nacl/nacl.gyp	2012-12-19 10:03:43.000000000 +0200
+#+++ ../../../chromium-browser-24.0.1312.45-almost-there/src/native_client/src/untrusted/nacl/nacl.gyp	2013-01-01 22:26:15.004609235 +0200
+#@@ -94,7 +94,7 @@
+#         'nlib_target': 'libnacl.a',
+#         'build_glibc': 0,
+#         'build_newlib': 1,
+#-        'build_pnacl_newlib': 1,
+#+        'build_pnacl_newlib': 0,
+#       },
+#       'sources': [
+#         '<@(sources_for_nacl_extensions)',
+#--- chromium-browser-24.0.1312.45/src/native_client/tools.gyp~	2012-12-19 10:04:23.000000000 +0200
+#+++ chromium-browser-24.0.1312.45/src/native_client/tools.gyp	2013-01-01 17:22:30.098261613 +0200
+#@@ -134,7 +134,6 @@
+#               'msvs_cygwin_shell': 0,
+#               'description': 'Prep newlib',
+#               'inputs': [
+#-                 '<(newlib_dir)/stamp.untar',
+#                  '>!@pymod_do_main(prep_nacl_sdk --inputs --tool newlib)',
+#               ],
+#               'outputs': ['<(newlib_dir)/stamp.prep'],
+#@@ -154,7 +153,6 @@
+#               'msvs_cygwin_shell': 0,
+#               'description': 'Prep glibc',
+#               'inputs': [
+#-                 '<(glibc_dir)/stamp.untar',
+#                  '>!@pymod_do_main(prep_nacl_sdk --inputs --tool glibc)',
+#               ],
+#               'outputs': ['<(glibc_dir)/stamp.prep'],
+#@@ -174,7 +172,6 @@
+#               'msvs_cygwin_shell': 0,
+#               'description': 'Prep pnacl',
+#               'inputs': [
+#-                 '<(pnacl_dir)/stamp.untar',
+#                  '>!@pymod_do_main(prep_nacl_sdk --inputs --tool pnacl)',
+#               ],
+#               'outputs': ['<(pnacl_dir)/stamp.prep'],
diff --git a/no-pnacl.patch b/no-pnacl.patch
new file mode 100644
index 0000000..0cf7f46
--- /dev/null
+++ b/no-pnacl.patch
@@ -0,0 +1,11 @@
+--- chromium-browser-24.0.1312.45/src/native_client/src/untrusted/nacl/nacl.gyp~	2012-12-19 10:03:43.000000000 +0200
++++ chromium-browser-24.0.1312.45/src/native_client/src/untrusted/nacl/nacl.gyp	2013-01-01 22:26:15.004609235 +0200
+@@ -94,7 +94,7 @@
+         'nlib_target': 'libnacl.a',
+         'build_glibc': 0,
+         'build_newlib': 1,
+-        'build_pnacl_newlib': 1,
++        'build_pnacl_newlib': 0,
+       },
+       'sources': [
+         '<@(sources_for_nacl_extensions)',
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/chromium-browser.git/commitdiff/c5b396f3e17f0197cddc207f9444418b631a6fb1



More information about the pld-cvs-commit mailing list