make/common/Modules.gmk
Print this page
*** 131,160 ****
$(JRE_MODULE_IMAGE_DIR)/README.txt: $(SHARE_JRE_DOC_SRC)/README
$(process-doc-file)
endif
#
# Create a module library for the specified image location
define create-module-library
image=$(strip $1); \
mlib=$(MODULE_IMAGES_DIR)/$$image/lib/modules; \
$(ECHO) "Creating module library $$mlib" ; \
! $(HOST_JMOD_CMD) create -N $(JMOD_CREATE_ARGS) -L $$mlib
endef
# Copy module content to the module image
# $1 - image location
# $2 - module name
#
define copy-module-content
image=$(strip $1); m=$(strip $2); \
javahome=$(MODULE_IMAGES_DIR)/$$image; \
! for d in bin lib ; do \
! if [ -d $$m/$$d ] ; then \
! $(CP) -rf $(ABS_MODULEPATH_DIR)/$$m/$$d $$javahome; \
! fi ; \
! done
endef
#
# Copy JRE image to the dest
# $1 - jre image location
--- 131,179 ----
$(JRE_MODULE_IMAGE_DIR)/README.txt: $(SHARE_JRE_DOC_SRC)/README
$(process-doc-file)
endif
#
+ # On Windows dll's are installed into the same direcory as native cmds
+ ifeq ($(PLATFORM), windows)
+ NATLIBS_DIR=bin
+ else
+ NATLIBS_DIR=lib/$(LIBARCH)
+ endif
+
+ #
# Create a module library for the specified image location
define create-module-library
image=$(strip $1); \
mlib=$(MODULE_IMAGES_DIR)/$$image/lib/modules; \
+ natlib=$(MODULE_IMAGES_DIR)/$$image/$(NATLIBS_DIR); \
+ natcmd=$(MODULE_IMAGES_DIR)/$$image/bin; \
+ config=$(MODULE_IMAGES_DIR)/$$image/lib; \
$(ECHO) "Creating module library $$mlib" ; \
! $(HOST_JMOD_CMD) create -N $(JMOD_CREATE_ARGS) -L $$mlib \
! --natlib $$natlib --natcmd $$natcmd --config $$config
endef
# Copy module content to the module image
# $1 - image location
# $2 - module name
#
define copy-module-content
image=$(strip $1); m=$(strip $2); \
javahome=$(MODULE_IMAGES_DIR)/$$image; \
! natlib=$(MODULE_IMAGES_DIR)/$$image/$(NATLIBS_DIR); \
! natcmd=$(MODULE_IMAGES_DIR)/$$image/bin; \
! config=$(MODULE_IMAGES_DIR)/$$image/lib; \
! if [ -d $$m/bin ] ; then \
! $(CP) -rf $(ABS_MODULEPATH_DIR)/$$m/bin/* $$natcmd; \
! fi ; \
! if [ -d $$m/lib ] ; then \
! $(CP) -rf $(ABS_MODULEPATH_DIR)/$$m/lib/* $$natlib; \
! fi ; \
! if [ -d $$m/etc ] ; then \
! $(CP) -rf $(ABS_MODULEPATH_DIR)/$$m/etc/* $$config; \
! fi
endef
#
# Copy JRE image to the dest
# $1 - jre image location
*** 176,206 ****
fi
endef
#
# Install jigsaw module
# $1 - image location
# $2 - module name
define install-jigsaw-module
image=$(strip $1); m=$(strip $2); \
mlib=$(MODULE_IMAGES_DIR)/$$image/lib/modules; \
mid=`$(HOST_JMOD_CMD) ls -L $$mlib $$m | $(GREP) -v '#'` ; \
if [ "x$$mid" = "x" ] ; then \
- $(ECHO) "Installing module $$m in $$image" ; \
$(CD) $(ABS_MODULEPATH_DIR) && \
! if [ -d $$m/resources ] ; then \
! $(HOST_JMOD_CMD) install $$m/classes -r $$m/resources -L $$mlib $(JMOD_INSTALL_ARGS) $$m || exit 1; \
else \
$(HOST_JMOD_CMD) install $$m/classes -L $$mlib $(JMOD_INSTALL_ARGS) $$m || exit 1; \
- fi ; \
$(call copy-module-content,$1,$2) ; \
else \
$(ECHO) "Module $$m already installed in $$image" ; \
fi
endef
-
# Rules for building packages
include $(BUILDDIR)/common/BuildNativePackages.gmk
# set BUILD_PACKAGES=false to skip building jmod packages
#
--- 195,227 ----
fi
endef
#
# Install jigsaw module
+ # Install from the jmod file, if it has been created (see BUILD_PACKAGES)
# $1 - image location
# $2 - module name
define install-jigsaw-module
image=$(strip $1); m=$(strip $2); \
mlib=$(MODULE_IMAGES_DIR)/$$image/lib/modules; \
mid=`$(HOST_JMOD_CMD) ls -L $$mlib $$m | $(GREP) -v '#'` ; \
+ jmodfile=$(ABS_OUTPUTDIR)/jigsaw-pkgs/jmod/$$m@$(MODULE_VERSION).jmod ; \
if [ "x$$mid" = "x" ] ; then \
$(CD) $(ABS_MODULEPATH_DIR) && \
! if [ -f $$jmodfile ] ; then \
! $(ECHO) "Installing module $$m in $$image, from $$jmodfile" ; \
! $(HOST_JMOD_CMD) install $$jmodfile -L $$mlib || exit 1; \
else \
+ $(ECHO) "Installing module $$m in $$image, from $$m/classes and copy" ; \
$(HOST_JMOD_CMD) install $$m/classes -L $$mlib $(JMOD_INSTALL_ARGS) $$m || exit 1; \
$(call copy-module-content,$1,$2) ; \
+ fi ; \
else \
$(ECHO) "Module $$m already installed in $$image" ; \
fi
endef
# Rules for building packages
include $(BUILDDIR)/common/BuildNativePackages.gmk
# set BUILD_PACKAGES=false to skip building jmod packages
#