21 |
21 |
22 # |
22 # |
23 # Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. |
23 # Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. |
24 # |
24 # |
25 BUILD_BITS= 64_and_32 |
25 BUILD_BITS= 64_and_32 |
|
26 COMPILER= gcc |
26 include ../../make-rules/shared-macros.mk |
27 include ../../make-rules/shared-macros.mk |
27 |
28 |
28 COMPONENT_NAME= ilmbase |
29 COMPONENT_NAME= ilmbase |
29 COMPONENT_VERSION= 2.2.0 |
30 COMPONENT_VERSION= 2.2.0 |
30 COMPONENT_PROJECT_URL= http://www.openexr.com/ |
31 COMPONENT_PROJECT_URL= http://www.openexr.com/ |
38 |
39 |
39 include $(WS_MAKE_RULES)/common.mk |
40 include $(WS_MAKE_RULES)/common.mk |
40 |
41 |
41 PATCH_LEVEL = 0 |
42 PATCH_LEVEL = 0 |
42 |
43 |
|
44 # All C++ code should be built with -std=c++11 from now on. |
|
45 CXXFLAGS += -std=c++11 |
|
46 |
|
47 # To allow the 32-bit version of IexMath/IexMathFpu.cpp to compile as there is |
|
48 # only a 64-bit definition of the typedef struct fpu { ... } fpregset_t; |
|
49 # definition in /usr/include/sys/regset.h |
|
50 CXXFLAGS += -U__i386__ |
|
51 |
|
52 # Needed to get the tests to work correctly. For more information see: |
|
53 # https://github.com/openexr/openexr/issues/67 |
|
54 CXXFLAGS += -ffloat-store |
|
55 |
43 # there seems to be no other way to enable large files support |
56 # there seems to be no other way to enable large files support |
44 CXXFLAGS += $(CPP_LARGEFILES) |
57 CXXFLAGS += $(CPP_LARGEFILES) |
45 # it seems that --with-pic doesn't get PIC flags to the C++ compiler |
|
46 CXXFLAGS += $(CC_PIC) |
|
47 CXXFLAGS += -std=sun03 |
|
48 ifeq ($(strip $(PARFAIT_BUILD)),yes) |
|
49 CXXFLAGS += -U__i386__ |
|
50 endif |
|
51 |
|
52 # libtools seems to be forcing -nolibs, so we have to add back libc, libm, |
|
53 # libCstd and libCrun. The last two are needed because with Studio 12.2 |
|
54 # (and beyond), there is a bug in the CC driver that is not correctly using |
|
55 # the '-library=Cstd,Crun' we are passing to it. |
|
56 LIBS += -lc -lm -lCstd -lCrun |
|
57 |
|
58 CONFIGURE_ENV += LIBS="$(LIBS)" |
|
59 |
58 |
60 CONFIGURE_OPTIONS += --disable-static |
59 CONFIGURE_OPTIONS += --disable-static |
61 CONFIGURE_OPTIONS += --enable-threading |
60 CONFIGURE_OPTIONS += --enable-threading |
62 CONFIGURE_OPTIONS += --enable-posix-sem |
61 CONFIGURE_OPTIONS += --enable-posix-sem |
63 CONFIGURE_OPTIONS += --with-pic |
62 CONFIGURE_OPTIONS += --with-pic |
69 '-e "s|^.*$(CC).*$$|XXX_CC_XXX|g" ' \ |
68 '-e "s|^.*$(CC).*$$|XXX_CC_XXX|g" ' \ |
70 '-e "s|^.*$(CXX).*$$|XXX_CC_XXX|g" ' \ |
69 '-e "s|^.*$(CXX).*$$|XXX_CC_XXX|g" ' \ |
71 '-e "s|^.*source=.*libtool=no.*$$|XXX_CC_XXX|g" ' \ |
70 '-e "s|^.*source=.*libtool=no.*$$|XXX_CC_XXX|g" ' \ |
72 '-e "s|^.*DEPDIR=.deps.*$$|XXX_CC_XXX|g" ' \ |
71 '-e "s|^.*DEPDIR=.deps.*$$|XXX_CC_XXX|g" ' \ |
73 '-e "s|^config.status: .*$$|XXX_CC_XXX|g" ' \ |
72 '-e "s|^config.status: .*$$|XXX_CC_XXX|g" ' \ |
|
73 '-e "s|^mv -f .*$$|XXX_CC_XXX|g" ' \ |
74 '-e "s|^.*matrices took .* clocks.*$$|XXX_CC_XXX|g" ' \ |
74 '-e "s|^.*matrices took .* clocks.*$$|XXX_CC_XXX|g" ' \ |
75 '-e "s|^.*speed up.*$$|XXX_CC_XXX|g" ' \ |
75 '-e "s|^.*speed up.*$$|XXX_CC_XXX|g" ' \ |
76 '-e "/is up to date/d"' \ |
76 '-e "/is up to date/d"' \ |
77 '-e "/Nothing to be done/d"' \ |
77 '-e "/Nothing to be done/d"' \ |
78 '-e "/Leaving directory/d"' \ |
78 '-e "/Leaving directory/d"' \ |
79 '-e "/Entering directory/d"' \ |
79 '-e "/Entering directory/d"' \ |
80 '-e "/^XXX_CC_XXX$$/d" ' |
80 '-e "/^XXX_CC_XXX$$/d" ' |
81 |
81 |
82 REQUIRED_PACKAGES += system/library/c++-runtime |
82 REQUIRED_PACKAGES += system/library/gcc/gcc-c++-runtime |
|
83 REQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime |
83 REQUIRED_PACKAGES += system/library/math |
84 REQUIRED_PACKAGES += system/library/math |