author | John Beck <John.Beck@Oracle.COM> |
Tue, 20 Oct 2015 15:05:05 -0700 | |
changeset 4984 | 7145b15b7f0d |
parent 4339 | 6501cf9c29f9 |
child 5125 | 34cc580c62c2 |
permissions | -rw-r--r-- |
174
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1 |
# |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
2 |
# CDDL HEADER START |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
3 |
# |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
4 |
# The contents of this file are subject to the terms of the |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
5 |
# Common Development and Distribution License (the "License"). |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
6 |
# You may not use this file except in compliance with the License. |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
7 |
# |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
8 |
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
9 |
# or http://www.opensolaris.org/os/licensing. |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
10 |
# See the License for the specific language governing permissions |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
11 |
# and limitations under the License. |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
12 |
# |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
13 |
# When distributing Covered Code, include this CDDL HEADER in each |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
14 |
# file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
15 |
# If applicable, add the following below this CDDL HEADER, with the |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
16 |
# fields enclosed by brackets "[]" replaced with your own identifying |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
17 |
# information: Portions Copyright [yyyy] [name of copyright owner] |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
18 |
# |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
19 |
# CDDL HEADER END |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
20 |
# |
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
2225
diff
changeset
|
21 |
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. |
174
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
22 |
# |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
23 |
include ../../make-rules/shared-macros.mk |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
24 |
|
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
25 |
COMPONENT_NAME = lcms |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
26 |
COMPONENT_VERSION= 1.19 |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
27 |
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
28 |
COMPONENT_PROJECT_URL= http://www.littlecms.com/ |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
29 |
COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz |
800
2ad056ed89ec
7163771 sha1 should not be used in userland-fetch and userland component/*/Makefile
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
782
diff
changeset
|
30 |
COMPONENT_ARCHIVE_HASH= \ |
2ad056ed89ec
7163771 sha1 should not be used in userland-fetch and userland component/*/Makefile
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
782
diff
changeset
|
31 |
sha256:80ae32cb9f568af4dc7ee4d3c05a4c31fc513fc3e31730fed0ce7378237273a9 |
174
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
32 |
COMPONENT_ARCHIVE_URL= http://sourceforge.net/projects/lcms/files/lcms/$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE) |
1058
34d7aaa03423
15886624 Auto-generation of Userland gate list - Phase 3
Rich Burridge <rich.burridge@oracle.com>
parents:
800
diff
changeset
|
33 |
COMPONENT_BUGDB= utility/lcms |
174
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
34 |
|
1948
2d1537e7942d
18978320 Userland components should specify TPNOs in Makefiles instead of pkg manifests
John Beck <John.Beck@Oracle.COM>
parents:
1058
diff
changeset
|
35 |
TPNO= 9072 |
2d1537e7942d
18978320 Userland components should specify TPNOs in Makefiles instead of pkg manifests
John Beck <John.Beck@Oracle.COM>
parents:
1058
diff
changeset
|
36 |
|
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
2225
diff
changeset
|
37 |
include $(WS_MAKE_RULES)/prep.mk |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
2225
diff
changeset
|
38 |
include $(WS_MAKE_RULES)/configure.mk |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
2225
diff
changeset
|
39 |
include $(WS_MAKE_RULES)/ips.mk |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
2225
diff
changeset
|
40 |
include $(WS_MAKE_RULES)/lint-libraries.mk |
174
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
41 |
|
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
42 |
PATCH_LEVEL = 0 |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
43 |
|
206
a4474882bf60
7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
181
diff
changeset
|
44 |
# adding to the C++ compiler because libtool appears to strip it from CXXFLAGS |
a4474882bf60
7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
181
diff
changeset
|
45 |
CXX += $(studio_NORUNPATH) |
181
87e11e685b1f
7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
174
diff
changeset
|
46 |
|
206
a4474882bf60
7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
181
diff
changeset
|
47 |
# It seems that we have no other way to designate that we want large file support |
a4474882bf60
7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
181
diff
changeset
|
48 |
CFLAGS += $(CPP_LARGEFILES) |
a4474882bf60
7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
181
diff
changeset
|
49 |
CXXFLAGS += $(CPP_LARGEFILES) |
3823
8a78c695182b
20460374 GNUMP should have some master test results to compare against
Stefan Teleman <stefan.teleman@oracle.com>
parents:
3817
diff
changeset
|
50 |
|
8a78c695182b
20460374 GNUMP should have some master test results to compare against
Stefan Teleman <stefan.teleman@oracle.com>
parents:
3817
diff
changeset
|
51 |
COMPONENT_TEST_TRANSFORMS += \ |
8a78c695182b
20460374 GNUMP should have some master test results to compare against
Stefan Teleman <stefan.teleman@oracle.com>
parents:
3817
diff
changeset
|
52 |
'-e "/libtool/d"' \ |
8a78c695182b
20460374 GNUMP should have some master test results to compare against
Stefan Teleman <stefan.teleman@oracle.com>
parents:
3817
diff
changeset
|
53 |
'-e "/-m32/d"' \ |
8a78c695182b
20460374 GNUMP should have some master test results to compare against
Stefan Teleman <stefan.teleman@oracle.com>
parents:
3817
diff
changeset
|
54 |
'-e "/-m64/d"' \ |
8a78c695182b
20460374 GNUMP should have some master test results to compare against
Stefan Teleman <stefan.teleman@oracle.com>
parents:
3817
diff
changeset
|
55 |
'-e "/little cms testbed/d"' \ |
8a78c695182b
20460374 GNUMP should have some master test results to compare against
Stefan Teleman <stefan.teleman@oracle.com>
parents:
3817
diff
changeset
|
56 |
'-e "s/[0-9]\{1,\} tics//g"' \ |
8a78c695182b
20460374 GNUMP should have some master test results to compare against
Stefan Teleman <stefan.teleman@oracle.com>
parents:
3817
diff
changeset
|
57 |
'-e "s/[0-9]\{1,\} tics\,//g"' \ |
8a78c695182b
20460374 GNUMP should have some master test results to compare against
Stefan Teleman <stefan.teleman@oracle.com>
parents:
3817
diff
changeset
|
58 |
'-e "s/\, [0-9]\{1,\}\.[0-9]\{1,\} sec\.//g"' |
8a78c695182b
20460374 GNUMP should have some master test results to compare against
Stefan Teleman <stefan.teleman@oracle.com>
parents:
3817
diff
changeset
|
59 |
|
206
a4474882bf60
7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
181
diff
changeset
|
60 |
# non-default C++ flags |
a4474882bf60
7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
181
diff
changeset
|
61 |
CXXFLAGS += -features=extensions,nestedaccess,tmplrefstatic |
a4474882bf60
7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
181
diff
changeset
|
62 |
CXXFLAGS += -template=geninlinefuncs |
174
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
63 |
|
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
64 |
CONFIGURE_ENV += CFLAGS="$(CFLAGS)" |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
65 |
CONFIGURE_ENV += CXXFLAGS="$(CXXFLAGS)" |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
66 |
CONFIGURE_ENV += PYTHON="$(PYTHON)" |
206
a4474882bf60
7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
181
diff
changeset
|
67 |
CONFIGURE_ENV += PYTHONMODULEDIR="$(PYTHON_VENDOR_PACKAGES)" |
a4474882bf60
7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
181
diff
changeset
|
68 |
CONFIGURE_ENV += PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)" |
174
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
69 |
|
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
70 |
CONFIGURE_OPTIONS += --includedir=/usr/include/lcms |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
71 |
CONFIGURE_OPTIONS += --enable-shared |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
72 |
CONFIGURE_OPTIONS += --disable-static |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
73 |
CONFIGURE_OPTIONS += --with-jpeg |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
74 |
CONFIGURE_OPTIONS += --with-tiff |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
75 |
CONFIGURE_OPTIONS += --with-zlib |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
76 |
CONFIGURE_OPTIONS += --with-python |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
77 |
CONFIGURE_OPTIONS += --with-pic |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
78 |
|
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
79 |
PKG_PROTO_DIRS += $(COMPONENT_SRC) |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
80 |
|
206
a4474882bf60
7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
181
diff
changeset
|
81 |
# in order to run the tests, we need to use cloney |
a4474882bf60
7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
181
diff
changeset
|
82 |
COMPONENT_PRE_CONFIGURE_ACTION = ($(CLONEY) $(SOURCE_DIR) $(@D)) |
a4474882bf60
7010355 python needs to be packaged to separate out non-core dependencies
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
181
diff
changeset
|
83 |
|
174
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
84 |
COMPONENT_POST_CONFIGURE_ACTION = \ |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
85 |
( cd $(@D); \ |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
86 |
$(CP) -p $(SOURCE_DIR)/include/lcms.h ./include/ ; \ |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
87 |
$(RM) -f $(SOURCE_DIR)/include/icc34.h ; \ |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
88 |
$(CP) -p include/icc34.h $(SOURCE_DIR)/include/ ) |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
89 |
|
181
87e11e685b1f
7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
174
diff
changeset
|
90 |
LINT_FLAGS += -I$(COMPONENT_DIR)/$(COMPONENT_SRC)/include |
174
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
91 |
|
2225
f064d3d3190d
20078677 Userland Makefiles should support a configure: target
John Beck <John.Beck@Oracle.COM>
parents:
1948
diff
changeset
|
92 |
configure: $(CONFIGURE_32_and_64) |
f064d3d3190d
20078677 Userland Makefiles should support a configure: target
John Beck <John.Beck@Oracle.COM>
parents:
1948
diff
changeset
|
93 |
|
174
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
94 |
build: $(BUILD_32_and_64) |
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
95 |
|
181
87e11e685b1f
7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
174
diff
changeset
|
96 |
install: $(INSTALL_32_and_64) |
706
6e61f0012046
7108059 Userland should have python2.7 version of its python modules
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
206
diff
changeset
|
97 |
$(PYTHON.2.7.32) -m compileall $(PROTO_DIR)/usr/lib/python2.7/vendor-packages |
6e61f0012046
7108059 Userland should have python2.7 version of its python modules
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
206
diff
changeset
|
98 |
|
174
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
99 |
|
181
87e11e685b1f
7003927 userland should postprocess packaged files
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
174
diff
changeset
|
100 |
test: $(TEST_32_and_64) |
174
187aa0541610
7031766 LCMS needs to move to Userland
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
101 |
|
4339
6501cf9c29f9
21116842 add system-test targets to each component Makefile and to top-level Makefiles
Stacy Yeh <stacy.yeh@oracle.com>
parents:
3936
diff
changeset
|
102 |
system-test: $(SYSTEM_TESTS_NOT_IMPLEMENTED) |
6501cf9c29f9
21116842 add system-test targets to each component Makefile and to top-level Makefiles
Stacy Yeh <stacy.yeh@oracle.com>
parents:
3936
diff
changeset
|
103 |
|
3817
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
2225
diff
changeset
|
104 |
REQUIRED_PACKAGES += image/library/libjpeg |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
2225
diff
changeset
|
105 |
REQUIRED_PACKAGES += image/library/libtiff |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
2225
diff
changeset
|
106 |
REQUIRED_PACKAGES += library/lcms |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
2225
diff
changeset
|
107 |
REQUIRED_PACKAGES += runtime/python-27 |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
2225
diff
changeset
|
108 |
REQUIRED_PACKAGES += system/library |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
2225
diff
changeset
|
109 |
REQUIRED_PACKAGES += system/library/c++-runtime |
30b42c38bbc4
15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents:
2225
diff
changeset
|
110 |
REQUIRED_PACKAGES += system/library/math |