20 # |
20 # |
21 |
21 |
22 # |
22 # |
23 # Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. |
23 # Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. |
24 # |
24 # |
25 |
25 BUILD_BITS=64 |
|
26 # While the tree currently builds with Studio, we need to make sure it also |
|
27 # builds with gcc when submitting patches upstream, and having both sets of |
|
28 # options in the CFLAGS below makes it easy to switch when needed. |
|
29 # COMPILER=gcc |
26 include ../../../make-rules/shared-macros.mk |
30 include ../../../make-rules/shared-macros.mk |
27 |
31 |
28 COMPONENT_NAME= xscreensaver |
32 COMPONENT_NAME= xscreensaver |
29 COMPONENT_VERSION= 5.34 |
33 COMPONENT_VERSION= 5.34 |
30 COMPONENT_PROJECT_URL= https://www.jwz.org/xscreensaver/ |
34 COMPONENT_PROJECT_URL= https://www.jwz.org/xscreensaver/ |
31 COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION) |
|
32 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz |
|
33 COMPONENT_ARCHIVE_HASH= \ |
35 COMPONENT_ARCHIVE_HASH= \ |
34 sha256:6fff7ec4be743e5c042647ea9687dd0cdf48d1dd5e8e15098e5018bbd02e5e27 |
36 sha256:6fff7ec4be743e5c042647ea9687dd0cdf48d1dd5e8e15098e5018bbd02e5e27 |
35 COMPONENT_ARCHIVE_URL= https://www.jwz.org/xscreensaver/$(COMPONENT_ARCHIVE) |
37 COMPONENT_ARCHIVE_URL= https://www.jwz.org/xscreensaver/$(COMPONENT_ARCHIVE) |
36 COMPONENT_BUGDB= gnome/screensaver |
38 COMPONENT_BUGDB= gnome/screensaver |
37 |
39 |
38 TPNO= 26341 |
40 TPNO= 26341 |
39 |
41 |
40 include $(WS_MAKE_RULES)/prep.mk |
42 TEST_TARGET = $(NO_TESTS) |
41 include $(WS_MAKE_RULES)/configure-64.mk |
43 include $(WS_MAKE_RULES)/common.mk |
42 include $(WS_MAKE_RULES)/ips.mk |
|
43 |
|
44 # While the tree currently builds with Studio, we need to make sure it also |
|
45 # builds with gcc when submitting patches upstream, and having both sets of |
|
46 # options in the CFLAGS below makes it easy to switch when needed. |
|
47 # COMPILER=gcc |
|
48 CC += $(CC_BITS) |
|
49 |
44 |
50 # Enable additional warnings, since we've modified this code a lot |
45 # Enable additional warnings, since we've modified this code a lot |
51 CFLAGS.studio += -v |
46 CFLAGS.studio += -v |
52 CFLAGS.gcc += -Wall |
47 CFLAGS.gcc += -Wall |
53 |
48 |
55 # better and because for just a screensaver display we can get away with |
50 # better and because for just a screensaver display we can get away with |
56 # using optimizations that may change strict correctness of floating point ops. |
51 # using optimizations that may change strict correctness of floating point ops. |
57 CFLAGS.studio += -fsimple=2 -nofstore -xlibmil -xprefetch |
52 CFLAGS.studio += -fsimple=2 -nofstore -xlibmil -xprefetch |
58 CFLAGS.gcc += -funsafe-math-optimizations |
53 CFLAGS.gcc += -funsafe-math-optimizations |
59 |
54 |
60 # Regenerate configure after patches modify configure.in |
55 # Fix 64-bit linking; compiler is used for the linking. |
61 COMPONENT_PREP_ACTION += ( cd $(@D); autoreconf -fiv); |
56 LDFLAGS += $(CC_BITS) |
|
57 |
|
58 # Regenerate configure after patches modify configure.in; the automake -af |
|
59 # forces the update of the standard automake files that autoreconf will not |
|
60 # update because Makefile.am does not exist. This is needed to ensure we have |
|
61 # a recent version of config.guess, etc. used for configure; the | true is |
|
62 # because automake will exit with an error because Makefile.am does not exist, |
|
63 # but it will update the required files. |
|
64 COMPONENT_PREP_ACTION += (cd $(@D); autoreconf -fiv; automake -af | true) |
62 |
65 |
63 # Need to pick up the GNU version of xgettext. |
66 # Need to pick up the GNU version of xgettext. |
64 PATH=$(GNUBIN):/usr/bin |
67 PATH=$(GNUBIN):$(USRBINDIR) |
65 |
68 |
66 # Libraries & programs to depend on |
69 # Libraries & programs to depend on |
67 CONFIGURE_OPTIONS += --with-gl=$(USRDIR) |
70 CONFIGURE_OPTIONS += --with-gl=$(USRDIR) |
68 CONFIGURE_OPTIONS += --with-gtk=$(USRDIR) |
71 CONFIGURE_OPTIONS += --with-gtk=$(USRDIR) |
69 CONFIGURE_OPTIONS += --with-jpeg=$(USRDIR) |
72 CONFIGURE_OPTIONS += --with-jpeg=$(USRDIR) |
93 CONFIGURE_OPTIONS += --without-kerberos |
96 CONFIGURE_OPTIONS += --without-kerberos |
94 |
97 |
95 # Paths to install to |
98 # Paths to install to |
96 APP_DEFAULTS_DIR = $(CONFIGURE_PREFIX)/share/X11/app-defaults |
99 APP_DEFAULTS_DIR = $(CONFIGURE_PREFIX)/share/X11/app-defaults |
97 XSS_LIBDIR = $(CONFIGURE_PREFIX)/lib/xscreensaver |
100 XSS_LIBDIR = $(CONFIGURE_PREFIX)/lib/xscreensaver |
98 CONFIGURE_OPTIONS += --bindir=$(CONFIGURE_BINDIR.32) |
|
99 CONFIGURE_OPTIONS += --libexecdir=$(XSS_LIBDIR)/bin |
101 CONFIGURE_OPTIONS += --libexecdir=$(XSS_LIBDIR)/bin |
100 CONFIGURE_OPTIONS += --with-hackdir=$(XSS_LIBDIR)/hacks |
102 CONFIGURE_OPTIONS += --with-hackdir=$(XSS_LIBDIR)/hacks |
101 CONFIGURE_OPTIONS += --with-configdir=$(XSS_LIBDIR)/config/control-center-2.0 |
103 CONFIGURE_OPTIONS += --with-configdir=$(XSS_LIBDIR)/config/control-center-2.0 |
102 CONFIGURE_OPTIONS += --with-x-app-defaults=$(APP_DEFAULTS_DIR) |
104 CONFIGURE_OPTIONS += --with-x-app-defaults=$(APP_DEFAULTS_DIR) |
103 |
105 |
133 $(PROTO_DIR)$(XSS_LIBDIR)/config/control-center-2.0/$${h}.xml ;\ |
135 $(PROTO_DIR)$(XSS_LIBDIR)/config/control-center-2.0/$${h}.xml ;\ |
134 done ; \ |
136 done ; \ |
135 rm -f $(PROTO_DIR)$(XSS_LIBDIR)/hacks/webcollage-helper ); |
137 rm -f $(PROTO_DIR)$(XSS_LIBDIR)/hacks/webcollage-helper ); |
136 |
138 |
137 |
139 |
138 ASLR_MODE = $(ASLR_ENABLE) |
|
139 |
|
140 configure: $(CONFIGURE_64) |
|
141 build: $(BUILD_64) |
|
142 install: $(INSTALL_64) |
|
143 test: $(NO_TESTS) |
|
144 system-test: $(NO_TESTS) |
|
145 |
|
146 |
|
147 REQUIRED_PACKAGES += gnome/accessibility/gnome-a11y-libs |
140 REQUIRED_PACKAGES += gnome/accessibility/gnome-a11y-libs |
148 REQUIRED_PACKAGES += gnome/config/gconf |
141 REQUIRED_PACKAGES += gnome/config/gconf |
149 REQUIRED_PACKAGES += image/library/libjpeg |
142 REQUIRED_PACKAGES += image/library/libjpeg |
150 REQUIRED_PACKAGES += library/desktop/atk |
143 REQUIRED_PACKAGES += library/desktop/atk |
151 REQUIRED_PACKAGES += library/desktop/gdk-pixbuf |
144 REQUIRED_PACKAGES += library/desktop/gdk-pixbuf |
155 REQUIRED_PACKAGES += library/glib2 |
148 REQUIRED_PACKAGES += library/glib2 |
156 REQUIRED_PACKAGES += library/gnome/gnome-component |
149 REQUIRED_PACKAGES += library/gnome/gnome-component |
157 REQUIRED_PACKAGES += library/libxml2 |
150 REQUIRED_PACKAGES += library/libxml2 |
158 REQUIRED_PACKAGES += library/perl-5/xml-parser |
151 REQUIRED_PACKAGES += library/perl-5/xml-parser |
159 REQUIRED_PACKAGES += runtime/perl-512 |
152 REQUIRED_PACKAGES += runtime/perl-512 |
160 REQUIRED_PACKAGES += system/library |
|
161 REQUIRED_PACKAGES += system/library/math |
153 REQUIRED_PACKAGES += system/library/math |
162 REQUIRED_PACKAGES += x11/library/libx11 |
154 REQUIRED_PACKAGES += x11/library/libx11 |
163 REQUIRED_PACKAGES += x11/library/libxext |
155 REQUIRED_PACKAGES += x11/library/libxext |
164 REQUIRED_PACKAGES += x11/library/libxft |
156 REQUIRED_PACKAGES += x11/library/libxft |
165 REQUIRED_PACKAGES += x11/library/libxi |
157 REQUIRED_PACKAGES += x11/library/libxi |