[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