vim: update to 9.1.0984
[oi-userland.git] / components / library / qt6 / Makefile
blobf09283a171251050dd871003b5fdb4244da37ffc
2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL)". You may
4 # only use this file in accordance with the terms of the CDDL.
6 # A full copy of the text of the CDDL should have accompanied this
7 # source. A copy of the CDDL is also available via the Internet at
8 # http://www.illumos.org/license/CDDL.
12 # Copyright 2022 Daniel Chan
13 # Copyright 2023 Niklas Poslovski
15 include ../../../make-rules/shared-macros.mk
17 QT6_VERSION= 6.6
18 COMPONENT_NAME= qt
19 COMPONENT_VERSION_MJR= $(QT6_VERSION)
20 COMPONENT_VERSION= $(COMPONENT_VERSION_MJR).3
21 COMPONENT_SUMMARY= Qt cross-platform application and UI framework
22 COMPONENT_PROJECT_URL= https://www.qt.io/
23 COMPONENT_SRC= $(COMPONENT_NAME)-everywhere-src-$(COMPONENT_VERSION)
24 COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.xz
25 COMPONENT_ARCHIVE_HASH= sha256:69d0348fef415da98aa890a34651e9cfb232f1bffcee289b7b4e21386bf36104
26 COMPONENT_ARCHIVE_URL= https://download.qt.io/official_releases/qt/$(COMPONENT_VERSION_MJR)/$(COMPONENT_VERSION)/single/$(COMPONENT_ARCHIVE)
27 COMPONENT_FMRI= library/qt6
28 COMPONENT_CLASSIFICATION= Desktop (GNOME)/Libraries
29 COMPONENT_LICENSE= FDLv1.3, GPLv2, GPLv3, LGPLv2.1, LGPLv3
30 COMPONENT_LICENSE_FILE= qt6.license
32 TEST_TARGET= $(NO_TESTS)
33 include $(WS_MAKE_RULES)/common.mk
35 PATH=$(PG_BINDIR):$(MYSQL_BINDIR):$(GCC_BINDIR):$(PATH.gnu)
37 QT_PREFIX= $(QT6_BASEDIR)
39 QT_ARCHSUBDIR= $(MACH64)
40 QT_PLATFORM= solaris-g++-64
42 LDFLAGS += -Wl,-rpath,$(QT6_LIBDIR):$(USRLIBDIR)/xorg/$(MACH64)/:$(CLANG_LIBDIR):$(MYSQL_LIBDIR):$(PG_LIBDIR):$(JPEG_LIBDIR)
44 CONFIGURE_OPTIONS = -prefix $(QT_PREFIX)
45 CONFIGURE_OPTIONS += -opensource
46 CONFIGURE_OPTIONS += -confirm-license
47 CONFIGURE_OPTIONS += -nomake examples
48 CONFIGURE_OPTIONS += -nomake tests
49 CONFIGURE_OPTIONS += -c++std c++11
50 CONFIGURE_OPTIONS += -disable-reduce-exports
51 CONFIGURE_OPTIONS += -xcb
52 CONFIGURE_OPTIONS += -xcb-xlib
53 CONFIGURE_OPTIONS += -bundled-xcb-xinput
54 CONFIGURE_OPTIONS += -openssl-linked
55 CONFIGURE_OPTIONS += -bindir $(QT_PREFIX)/bin/$(QT_ARCHSUBDIR)
56 CONFIGURE_OPTIONS += -libexecdir $(QT_PREFIX)/bin/$(QT_ARCHSUBDIR)
57 CONFIGURE_OPTIONS += -libdir $(QT_PREFIX)/lib/$(QT_ARCHSUBDIR)
58 CONFIGURE_OPTIONS += -plugindir $(QT_PREFIX)/plugins/$(QT_ARCHSUBDIR)
59 CONFIGURE_OPTIONS += -qmldir $(QT_PREFIX)/qml/$(QT_ARCHSUBDIR)
60 CONFIGURE_OPTIONS += -platform $(QT_PLATFORM)
61 CONFIGURE_OPTIONS += -plugin-sql-mysql
62 CONFIGURE_OPTIONS += -plugin-sql-psql
63 CONFIGURE_OPTIONS += -plugin-sql-sqlite
64 CONFIGURE_OPTIONS += -plugin-system-sqlite
65 CONFIGURE_OPTIONS += -no-pch
66 CONFIGURE_OPTIONS += -skip qtgrpc
67 CONFIGURE_OPTIONS += CMAKE_PREFIX_PATH="$(BUILD_DIR)/amd64/qtbase/lib/amd64/cmake"
68 CONFIGURE_OPTIONS += MySQL_LIBRARY=$(MYSQL_LIBDIR)/libmysqlclient.so
69 CONFIGURE_OPTIONS += MySQL_INCLUDE_DIR=$(MYSQL_INCDIR)
70 CONFIGURE_OPTIONS += PostgreSQL_LIBRARY=$(PG_LIBDIR)/libpq.so
71 CONFIGURE_OPTIONS += PostgreSQL_INCLUDE_DIR=$(PG_INCDIR)
73 COMPONENT_POST_CONFIGURE_ACTION= mkdir -p $(BUILD_DIR)/amd64/qtbase/translations ;
74 COMPONENT_POST_CONFIGURE_ACTION += $(GSED) -i 's;LINK_LIBRARIES =;LINK_LIBRARIES = -lgcc ;' $(@D)/build.ninja ;
76 COMPONENT_INSTALL_ENV += DESTDIR=$(PROTO_DIR)
78 include $(WS_MAKE_RULES)/cmake.mk
80 $(BUILD_DIR)/%/.configured: $(SOURCE_DIR)/.prep
81 ($(RM) -rf $(@D) ; $(MKDIR) $(@D))
82 $(COMPONENT_PRE_CONFIGURE_ACTION)
83 (cd $(@D) ; $(ENV) $(CONFIGURE_ENV) $(CONFIG_SHELL) \
84 $(CONFIGURE_SCRIPT) $(CONFIGURE_OPTIONS))
85 $(COMPONENT_POST_CONFIGURE_ACTION)
86 $(TOUCH) $@
88 # build the configured source
89 $(BUILD_DIR)/%/.built: $(BUILD_DIR)/%/.configured
90 $(COMPONENT_PRE_BUILD_ACTION)
91 (cd $(@D) ; $(ENV) $(COMPONENT_BUILD_ENV) \
92 cmake --build . --parallel)
93 $(COMPONENT_POST_BUILD_ACTION)
94 $(TOUCH) $@
96 # install the built source into a prototype area
97 $(BUILD_DIR)/%/.installed: $(BUILD_DIR)/%/.built
98 $(COMPONENT_PRE_INSTALL_ACTION)
99 (cd $(@D) ; $(ENV) $(COMPONENT_INSTALL_ENV) \
100 cmake --install .)
101 $(COMPONENT_POST_INSTALL_ACTION)
102 $(TOUCH) $@
104 # Build dependencies
105 REQUIRED_PACKAGES += $(CLANG_DEVELOPER_PKG)
106 REQUIRED_PACKAGES += $(PG_DEVELOPER_PKG)
107 REQUIRED_PACKAGES += $(MYSQL_CLIENT_PKG)
108 REQUIRED_PACKAGES += database/freetds
109 REQUIRED_PACKAGES += system/header/header-drm
110 REQUIRED_PACKAGES += x11/keyboard/data-xkb
111 REQUIRED_PACKAGES += x11/library/libpthread-stubs
113 # Auto-generated dependencies
114 PYTHON_REQUIRED_PACKAGES += runtime/python
115 REQUIRED_PACKAGES += $(CLANG_RUNTIME_PKG)
116 REQUIRED_PACKAGES += $(GCC_RUNTIME_PKG)
117 REQUIRED_PACKAGES += $(GXX_RUNTIME_PKG)
118 REQUIRED_PACKAGES += $(ICU_LIBRARY_PKG)
119 REQUIRED_PACKAGES += $(JPEG_IMPLEM_PKG)
120 REQUIRED_PACKAGES += $(MYSQL_LIBRARY_PKG)
121 REQUIRED_PACKAGES += $(OPENSSL_PKG)
122 REQUIRED_PACKAGES += $(PG_LIBRARY_PKG)
123 REQUIRED_PACKAGES += codec/jasper
124 REQUIRED_PACKAGES += compress/zstd
125 REQUIRED_PACKAGES += database/sqlite-3
126 REQUIRED_PACKAGES += image/library/libjpeg-turbo
127 REQUIRED_PACKAGES += image/library/libpng16
128 REQUIRED_PACKAGES += image/library/libtiff
129 REQUIRED_PACKAGES += library/brotli
130 REQUIRED_PACKAGES += library/c++/harfbuzz
131 REQUIRED_PACKAGES += library/desktop/gdk-pixbuf
132 REQUIRED_PACKAGES += library/desktop/gtk3
133 REQUIRED_PACKAGES += library/desktop/pango
134 REQUIRED_PACKAGES += library/desktop/speech-dispatcher
135 REQUIRED_PACKAGES += library/double-conversion
136 REQUIRED_PACKAGES += library/glib2
137 REQUIRED_PACKAGES += library/graphics/libmng
138 REQUIRED_PACKAGES += library/libwebp
139 REQUIRED_PACKAGES += library/pcre2
140 REQUIRED_PACKAGES += library/print/cups-libs
141 REQUIRED_PACKAGES += library/unixodbc
142 REQUIRED_PACKAGES += library/zlib
143 REQUIRED_PACKAGES += shell/bash
144 REQUIRED_PACKAGES += shell/ksh93
145 REQUIRED_PACKAGES += system/library
146 REQUIRED_PACKAGES += system/library/fontconfig
147 REQUIRED_PACKAGES += system/library/freetype-2
148 REQUIRED_PACKAGES += system/library/libdbus
149 REQUIRED_PACKAGES += system/library/math
150 REQUIRED_PACKAGES += system/library/security/gss
151 REQUIRED_PACKAGES += text/hunspell
152 REQUIRED_PACKAGES += x11/library/libdrm
153 REQUIRED_PACKAGES += x11/library/libice
154 REQUIRED_PACKAGES += x11/library/libsm
155 REQUIRED_PACKAGES += x11/library/libx11
156 REQUIRED_PACKAGES += x11/library/libxcb
157 REQUIRED_PACKAGES += x11/library/libxkbcommon
158 REQUIRED_PACKAGES += x11/library/mesa
159 REQUIRED_PACKAGES += x11/library/xcb-util-cursor
160 REQUIRED_PACKAGES += x11/library/xcb-util-image
161 REQUIRED_PACKAGES += x11/library/xcb-util-keysyms
162 REQUIRED_PACKAGES += x11/library/xcb-util-renderutil
163 REQUIRED_PACKAGES += x11/library/xcb-util-wm