summaryrefslogtreecommitdiffstats
path: root/third_party/qcms
diff options
context:
space:
mode:
authormilko.leporis <milko.leporis@imgtec.com>2016-03-09 04:42:26 -0800
committerCommit bot <commit-bot@chromium.org>2016-03-09 12:43:26 +0000
commite7e0e4405b3882356c581d838e1f9bfc730572d5 (patch)
tree928c08b8e74ecd007efa0a2e779f3c01cc189962 /third_party/qcms
parent87e5f5c006e843a5b4185964b83be230b946be0d (diff)
downloadchromium_src-e7e0e4405b3882356c581d838e1f9bfc730572d5.zip
chromium_src-e7e0e4405b3882356c581d838e1f9bfc730572d5.tar.gz
chromium_src-e7e0e4405b3882356c581d838e1f9bfc730572d5.tar.bz2
[qcms] Fix build issue of qcms_tests for MIPS Linux
Building all target on MIPS will trigger issue with qcms_tests: ../mipsel-linux-gnu/Scrt1.o: In function `__start': (.text+0x1c): undefined reference to `main' clang: error: linker command failed with exit code 1 This change will make possible to build qcms_tests (without testing for SSE2) for non ia32/x64 platforms. BUG=130022, 590227 TEST=ninja -C out/Release all, qcms_tests -a -i sRGB.icc -o AdobeRGB1998.icc -s Review URL: https://codereview.chromium.org/1734423002 Cr-Commit-Position: refs/heads/master@{#380124}
Diffstat (limited to 'third_party/qcms')
-rw-r--r--third_party/qcms/BUILD.gn6
-rw-r--r--third_party/qcms/README.chromium2
-rw-r--r--third_party/qcms/qcms.gyp18
-rw-r--r--third_party/qcms/src/tests/qcms_test_tetra_clut_rgba.c19
4 files changed, 34 insertions, 11 deletions
diff --git a/third_party/qcms/BUILD.gn b/third_party/qcms/BUILD.gn
index cfb042b..9c015d1 100644
--- a/third_party/qcms/BUILD.gn
+++ b/third_party/qcms/BUILD.gn
@@ -49,9 +49,11 @@ source_set("qcms") {
}
}
-if (!disable_qcms && (current_cpu == "x86" || current_cpu == "x64")) {
+if (!disable_qcms) {
executable("qcms_tests") {
- defines = [ "SSE2_ENABLE" ]
+ if (current_cpu == "x86" || current_cpu == "x64") {
+ defines = [ "SSE2_ENABLE" ]
+ }
sources = [
"src/tests/qcms_test_internal_srgb.c",
"src/tests/qcms_test_main.c",
diff --git a/third_party/qcms/README.chromium b/third_party/qcms/README.chromium
index feb63dc..17ddb5d 100644
--- a/third_party/qcms/README.chromium
+++ b/third_party/qcms/README.chromium
@@ -141,6 +141,8 @@ The following changes have been made since qcms was imported:
- https://code.google.com/p/chromium/issues/detail?id=495196
- Add qcms_profile_ntsc_relative_gamut_size api
- https://code.google.com/p/chromium/issues/detail?id=582870
+ - Fix build issue of qcms_tests for MIPS Linux
+ - https://code.google.com/p/chromium/issues/detail?id=590227
For the Chromium changes, since the import, in a patch format run:
git diff b8456f38 src
diff --git a/third_party/qcms/qcms.gyp b/third_party/qcms/qcms.gyp
index 9e19a44..2bade45 100644
--- a/third_party/qcms/qcms.gyp
+++ b/third_party/qcms/qcms.gyp
@@ -76,9 +76,6 @@
'target_name': 'qcms_tests',
'product_name': 'qcms_tests',
'type': 'executable',
- 'defines': [
- 'SSE2_ENABLE',
- ],
'dependencies': [
'qcms',
],
@@ -89,15 +86,18 @@
],
}],
['target_arch=="ia32" or target_arch=="x64"', {
- 'sources': [
- 'src/tests/qcms_test_tetra_clut_rgba.c',
- 'src/tests/qcms_test_main.c',
- 'src/tests/qcms_test_internal_srgb.c',
- 'src/tests/qcms_test_munsell.c',
- 'src/tests/qcms_test_ntsc_gamut.c',
+ 'defines': [
+ 'SSE2_ENABLE',
],
}],
],
+ 'sources': [
+ 'src/tests/qcms_test_main.c',
+ 'src/tests/qcms_test_internal_srgb.c',
+ 'src/tests/qcms_test_munsell.c',
+ 'src/tests/qcms_test_ntsc_gamut.c',
+ 'src/tests/qcms_test_tetra_clut_rgba.c',
+ ],
},
],
}],
diff --git a/third_party/qcms/src/tests/qcms_test_tetra_clut_rgba.c b/third_party/qcms/src/tests/qcms_test_tetra_clut_rgba.c
index e1fc5b9..81b6ee3 100644
--- a/third_party/qcms/src/tests/qcms_test_tetra_clut_rgba.c
+++ b/third_party/qcms/src/tests/qcms_test_tetra_clut_rgba.c
@@ -19,11 +19,26 @@ extern void qcms_transform_data_tetra_clut_rgba(qcms_transform *transform,
size_t length,
qcms_format_type output_format);
+#ifdef SSE2_ENABLE
extern void qcms_transform_data_tetra_clut_rgba_sse2(qcms_transform *transform,
unsigned char *src,
unsigned char *dest,
size_t length,
qcms_format_type output_format);
+#else
+void qcms_transform_data_tetra_clut_rgba_dummy(qcms_transform *transform,
+ unsigned char *src,
+ unsigned char *dest,
+ size_t length,
+ qcms_format_type output_format)
+{
+ (void)(transform);
+ (void)(src);
+ (void)(dest);
+ (void)(length);
+ (void)(output_format);
+}
+#endif
static float *create_lut(size_t lutSize)
{
@@ -123,7 +138,11 @@ static int qcms_test_tetra_clut_rgba(size_t width,
memcpy(src1, src0, length * pixel_size);
#define TRANSFORM_TEST0 qcms_transform_data_tetra_clut_rgba
+#ifdef SSE2_ENABLE
#define TRANSFORM_TEST1 qcms_transform_data_tetra_clut_rgba_sse2
+#else
+#define TRANSFORM_TEST1 qcms_transform_data_tetra_clut_rgba_dummy
+#endif
TIME(TRANSFORM_TEST0(&transform0, src0, dst0, length, format), &time0);
TIME(TRANSFORM_TEST1(&transform1, src1, dst1, length, format), &time1);