20 # |
20 # |
21 |
21 |
22 # |
22 # |
23 # Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. |
23 # Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved. |
24 # |
24 # |
25 |
25 # Prefer 32-bit over 64-bit for now. |
|
26 BUILD_BITS=32_and_64 |
|
27 # For now, all things built for C++11 require gcc. |
|
28 COMPILER= gcc |
26 include ../../../make-rules/shared-macros.mk |
29 include ../../../make-rules/shared-macros.mk |
27 |
30 |
28 COMPONENT_NAME= harfbuzz |
31 COMPONENT_NAME= harfbuzz |
29 COMPONENT_VERSION= 1.0.6 |
32 COMPONENT_VERSION= 1.0.6 |
30 COMPONENT_PROJECT_URL= http://www.freedesktop.org/wiki/Software/HarfBuzz/ |
33 COMPONENT_PROJECT_URL= http://www.freedesktop.org/wiki/Software/HarfBuzz/ |
31 COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) |
|
32 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2 |
34 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2 |
33 COMPONENT_ARCHIVE_HASH= \ |
35 COMPONENT_ARCHIVE_HASH= \ |
34 sha256:f616a7fbdc78a627043f9029000bf08c0c71df59cde4143fc92a014f6a993b26 |
36 sha256:f616a7fbdc78a627043f9029000bf08c0c71df59cde4143fc92a014f6a993b26 |
35 COMPONENT_ARCHIVE_URL= http://www.freedesktop.org/software/harfbuzz/release/$(COMPONENT_ARCHIVE) |
37 COMPONENT_ARCHIVE_URL= http://www.freedesktop.org/software/harfbuzz/release/$(COMPONENT_ARCHIVE) |
36 COMPONENT_BUGDB= library/harfbuzz |
38 COMPONENT_BUGDB= library/harfbuzz |
37 |
39 |
38 TPNO= 25623 |
40 TPNO= 25623 |
39 |
|
40 include $(WS_MAKE_RULES)/prep.mk |
|
41 include $(WS_MAKE_RULES)/configure-32_and_64.mk |
|
42 |
41 |
43 # Requires newer version of gobject-introspection from Desktop, available in |
42 # Requires newer version of gobject-introspection from Desktop, available in |
44 # S12 but not 11.3, so do not publish. |
43 # S12 but not 11.3, so do not publish. |
45 ifeq ($(BUILD_TYPE), evaluation) |
44 ifeq ($(BUILD_TYPE), evaluation) |
46 BUILD_32_and_64= |
45 BUILD_32_and_64= |
47 INSTALL_32_and_64= |
46 INSTALL_32_and_64= |
48 PUBLISH_STAMP= |
47 PUBLISH_STAMP= |
49 endif |
48 endif |
50 |
49 |
51 include $(WS_MAKE_RULES)/common-32_and_64.mk |
50 include $(WS_MAKE_RULES)/common.mk |
52 |
51 |
53 # For now, all things built for C++11 require gcc. |
|
54 COMPILER = gcc |
|
55 CXXFLAGS += -std=c++11 |
52 CXXFLAGS += -std=c++11 |
56 |
53 |
57 # For components using gobject-introspection, don't cache results in $HOME |
54 # For components using gobject-introspection, don't cache results in $HOME |
58 COMPONENT_BUILD_ENV += GI_SCANNER_DISABLE_CACHE=yes |
55 COMPONENT_BUILD_ENV += GI_SCANNER_DISABLE_CACHE=yes |
59 |
56 |
60 CONFIGURE_ENV += CC="$(CC) $(CC_BITS)" |
57 CONFIGURE_ENV += CC="$(CC) $(CC_BITS)" |
61 CONFIGURE_ENV += CFLAGS="$(CFLAGS)" |
|
62 CONFIGURE_ENV += CPPFLAGS="$(CPPFLAGS)" |
|
63 CONFIGURE_ENV += CXXFLAGS="$(CXXFLAGS)" |
|
64 # Required by other components. |
58 # Required by other components. |
65 CONFIGURE_OPTIONS += --enable-introspection |
59 CONFIGURE_OPTIONS += --enable-introspection |
66 # Required by other components. |
60 # Required by other components. |
67 CONFIGURE_OPTIONS += --with-glib |
61 CONFIGURE_OPTIONS += --with-glib |
68 # Required by other components. |
62 # Required by other components. |
69 CONFIGURE_OPTIONS += --with-gobject |
63 CONFIGURE_OPTIONS += --with-gobject |
70 # Requires GNU-ABI compatible build of ICU. |
64 # Requires GNU-ABI compatible build of ICU. |
71 CONFIGURE_OPTIONS += --with-icu |
65 CONFIGURE_OPTIONS += --with-icu |
72 # build the API documentation |
66 # build the API documentation |
73 CONFIGURE_OPTIONS += --enable-gtk-doc |
67 CONFIGURE_OPTIONS += --enable-gtk-doc |
74 |
|
75 CONFIGURE_BINDIR.64 = $(CONFIGURE_PREFIX)/bin |
|
76 |
68 |
77 COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master |
69 COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master |
78 COMPONENT_TEST_ARGS = -k -i |
70 COMPONENT_TEST_ARGS = -k -i |
79 COMPONENT_TEST_TRANSFORMS += \ |
71 COMPONENT_TEST_TRANSFORMS += \ |
80 '-n ' \ |
72 '-n ' \ |
84 '-e "/FAIL:/p" ' \ |
76 '-e "/FAIL:/p" ' \ |
85 '-e "/XFAIL:/p" ' \ |
77 '-e "/XFAIL:/p" ' \ |
86 '-e "/XERROR:/p" ' \ |
78 '-e "/XERROR:/p" ' \ |
87 '-e "/ERROR:/p" ' |
79 '-e "/ERROR:/p" ' |
88 |
80 |
89 configure: $(CONFIGURE_32_and_64) |
|
90 |
|
91 build: $(BUILD_32_and_64) |
|
92 |
|
93 install: $(INSTALL_32_and_64) |
|
94 |
|
95 test: $(TEST_32_and_64) |
|
96 |
|
97 system-test: $(SYSTEM_TESTS_NOT_IMPLEMENTED) |
|
98 |
|
99 REQUIRED_PACKAGES += developer/build/autoconf |
81 REQUIRED_PACKAGES += developer/build/autoconf |
100 REQUIRED_PACKAGES += developer/build/automake |
82 REQUIRED_PACKAGES += developer/build/automake |
101 REQUIRED_PACKAGES += developer/build/gnu-make |
83 REQUIRED_PACKAGES += developer/build/gnu-make |
102 REQUIRED_PACKAGES += developer/build/pkg-config |
84 REQUIRED_PACKAGES += developer/build/pkg-config |
103 REQUIRED_PACKAGES += developer/documentation-tool/gtk-doc |
85 REQUIRED_PACKAGES += developer/documentation-tool/gtk-doc |
104 REQUIRED_PACKAGES += developer/icu |
86 REQUIRED_PACKAGES += developer/icu |
105 REQUIRED_PACKAGES += library/desktop/cairo |
87 REQUIRED_PACKAGES += library/desktop/cairo |
106 REQUIRED_PACKAGES += library/glib2 |
88 REQUIRED_PACKAGES += library/glib2 |
107 REQUIRED_PACKAGES += library/icu |
89 REQUIRED_PACKAGES += library/icu |
108 REQUIRED_PACKAGES += system/library |
|
109 REQUIRED_PACKAGES += system/library/freetype-2 |
90 REQUIRED_PACKAGES += system/library/freetype-2 |
110 REQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime |
91 REQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime |
111 REQUIRED_PACKAGES += system/library/gcc/gcc-c++-runtime |
92 REQUIRED_PACKAGES += system/library/gcc/gcc-c++-runtime |
112 REQUIRED_PACKAGES += system/library/math |
93 REQUIRED_PACKAGES += system/library/math |