# # This file and its contents are supplied under the terms of the # Common Development and Distribution License ("CDDL)". You may # only use this file in accordance with the terms of the CDDL. # # A full copy of the text of the CDDL should have accompanied this # source. A copy of the CDDL is also available via the Internet at # http://www.illumos.org/license/CDDL. # # # Copyright 2018 Alexander Pyhalov # include ../../../make-rules/shared-macros.mk COMPONENT_NAME= ccl COMPONENT_VERSION= 1.12.2 COMPONENT_SUMMARY= ccl - Clozure Common Lisp COMPONENT_PROJECT_URL= https://ccl.clozure.com/ COMPONENT_SRC= ccl COMPONENT_ARCHIVE= ccl-$(COMPONENT_VERSION)-solarisx86.tar.gz COMPONENT_ARCHIVE_HASH= sha256:f058137c92349ccce86a2725c68f4129ed660d07d834b0794de441339366dc8d COMPONENT_ARCHIVE_URL= https://github.com/Clozure/ccl/releases/download/v$(COMPONENT_VERSION)/$(COMPONENT_ARCHIVE) COMPONENT_FMRI= runtime/ccl COMPONENT_CLASSIFICATION= Development/Other Languages COMPONENT_LICENSE= Apache-2.0 COMPONENT_LICENSE_FILE= LICENSE include $(WS_MAKE_RULES)/prep.mk include $(WS_MAKE_RULES)/justmake.mk include $(WS_MAKE_RULES)/ips.mk # We need libsocket to be linked into ccl, despite of linker opinion about it. # Otherwise we receive # Error: Can't resolve foreign symbol "socket" # when sockets are used LD_Z_IGNORE= COMPONENT_COPY_ACTION = cp -r $(SOURCE_DIR)/* $(@D) BUILD_CCL_64 = $(BUILD_DIR_64)/.built_ccl MY_INSTALL = $(BUILD_DIR_64)/.my_installed CCL_DIRECTORY = /usr/lib/ccl INST_FILES = bin compiler doc examples level-0 level-1 INST_FILES += lib library objc-bridge solarisx64-headers INST_FILES += sx86-boot64 sx86cl64 sx86cl64.image tools xdump COMPONENT_BUILD_ARGS += -C $(BUILD_DIR_$(BITS))/lisp-kernel/solarisx64 COMPONENT_BUILD_ENV += CC="$(CC)" COMPONENT_BUILD_ENV += CFLAGS="$(CFLAGS)" $(BUILD_CCL_64): $(BUILD_64) cd $(BUILD_DIR_64) ; $(ENV) $(COMPONENT_BUILD_ENV) \ ./sx86cl64 --no-init --batch --quiet --eval "(ccl:rebuild-ccl :full t)" \ --eval "(quit)" $(TOUCH) $(@) $(MY_INSTALL): $(BUILD_CCL_64) [ -d $(PROTO_DIR)/$(CCL_DIRECTORY) ] || $(MKDIR) $(PROTO_DIR)/$(CCL_DIRECTORY) cd $(@D); cp -r $(INST_FILES) $(PROTO_DIR)/$(CCL_DIRECTORY) rm -fr $(PROTO_DIR)/usr/lib/ccl/solarisx64-headers/.svn $(TOUCH) $@ build: $(BUILD_64) $(BUILD_CCL_64) install: $(MY_INSTALL) test: $(NO_TESTS) # Auto-generated dependencies REQUIRED_PACKAGES += shell/ksh93 REQUIRED_PACKAGES += system/library REQUIRED_PACKAGES += system/library/math