Пробовал пересобрать Chromium без SSE2 для Debian 7.6

Автор dima641, 01 ноября 2014, 11:14:51

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

dima641

Пробовал пересобрать Chromium без SSE2 для Debian 7.6
Никогда таким не занимался, не спрашивайте зачем занялся сейчас - будет бессодержательный разговор.
Вопрос: возможно ли это в принципе?

Гайд взял отсюда
Открыть содержимое (спойлер)

только патч из гайда заменил вот на этот
Открыть содержимое (спойлер)

--- a/build/common.gypi 2014-04-29 09:02:49.000000000 -0400
+++ b/build/common.gypi 2014-07-16 17:37:31.680222930 -0400
@@ -299,6 +299,9 @@
# The system libdir used for this ABI.
'system_libdir%': 'lib',
+ # On Linux, we build with sse2 for Chromium builds.
+ 'disable_sse2%': 0,
+
# Use libjpeg-turbo as the JPEG codec used by Chromium.
'use_libjpeg_turbo%': 1,
@@ -1782,6 +1785,13 @@
'disable_glibc%': 0,
}],
+ # Disable SSE2 when building for ARM or MIPS.
+ ['target_arch=="arm" or target_arch=="mipsel"', {
+ 'disable_sse2%': 1,
+ }, {
+ 'disable_sse2%': '<(disable_sse2)',
+ }],
+
# Set the relative path from this file to the GYP file of the JPEG
# library used by Chromium.
['use_system_libjpeg==1 or use_libjpeg_turbo==0', {
@@ -3318,21 +3328,24 @@
# value used during computation does not change depending on
# how the compiler optimized the code, since the value is
# always kept in its specified precision.
- #
- # Refer to http://crbug.com/348761 for rationale behind SSE2
- # being a minimum requirement for 32-bit Linux builds and
- # http://crbug.com/313032 for an example where this has "bit"
- # us in the past.
- 'cflags': [
- '-msse2',
- '-mfpmath=sse',
- '-mmmx', # Allows mmintrin.h for MMX intrinsics.
- '-m32',
- ],
- 'ldflags': [
- '-m32',
- ],
'conditions': [
+ ['branding=="Chromium" and disable_sse2==0', {
+ 'cflags': [
+ '-march=pentium4',
+ '-msse2',
+ '-mfpmath=sse',
+ ],
+ }],
+ # ChromeOS targets Pinetrail, which is sse3, but most of the
+ # benefit comes from sse2 so this setting allows ChromeOS
+ # to build on other CPUs. In the future -march=atom would
+ # help but requires a newer compiler.
+ ['chromeos==1 and disable_sse2==0', {
+ 'cflags': [
+ '-msse2',
+ '-mfpmath=sse',
+ ],
+ }],
# Use gold linker for Android ia32 target.
['OS=="android"', {
'cflags': [
@@ -3354,6 +3367,15 @@
],
}],
],
+ # -mmmx allows mmintrin.h to be used for mmx intrinsics.
+ # video playback is mmx and sse2 optimized.
+ 'cflags': [
+ '-m32',
+ '-mmmx',
+ ],
+ 'ldflags': [
+ '-m32',
+ ],
}],
],
}],
--- a/third_party/qcms/qcms.gyp 2014-04-29 09:02:48.000000000 -0400
+++ b/third_party/qcms/qcms.gyp 2014-07-16 17:37:31.680222930 -0400
@@ -30,8 +30,21 @@
# removed on next roll.
'msvs_disabled_warnings': [ 4018 ],
+ 'variables': {
+ 'conditions': [
+ # For x86, turn off SSE2 for non-CrOS *nix Chrome builds.
+ ['disable_sse2==1 or \
+ (branding=="Chrome" and target_arch=="ia32" and \
+ os_posix==1 and OS!="mac" and chromeos==0)', {
+ 'qcms_use_sse': 0,
+ }, {
+ 'qcms_use_sse': 1,
+ }],
+ ],
+ },
+
'conditions': [
- ['target_arch=="ia32" or target_arch=="x64"', {
+ [ 'qcms_use_sse==1', {
'defines': [
'SSE2_ENABLE',
],
@@ -40,9 +53,9 @@
'src/transform-sse2.c',
],
}],
- # QCMS assumes this target isn't compiled since MSVC x64 doesn't support
- # the MMX intrinsics present in the SSE1 code.
- ['OS=="win" and target_arch=="x64"', {
+ # MSVC x64 doesn't support the MMX intrinsics present in the SSE1 code,
+ # but that's OK since qcms prefers using SSE2 when available.
+ [ 'qcms_use_sse==1 and OS=="win" and target_arch=="x64"', {
'sources!': [
'src/transform-sse1.c',
],

[свернуть]

Понимаю, что возможно сделал полную глупость, сорри если отнимаю время у занятых людей.   Нет, облом. Fatal error в конце. Кто-нибудь знает как сделать правильно?

Извините если что не так оформил.