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 #