jdk8/jdk8/nashorn: b6c69beebde6 (original) (raw)

OpenJDK / jdk8 / jdk8 / nashorn

changeset 53:b6c69beebde6

8006676: Integrate Nashorn into new build system Reviewed-by: jlaskey Contributed-by: james.laskey@oracle.com

jlaskey
date Mon, 28 Jan 2013 16:22:03 -0400
parents 265c46dbcf43
children 333748665588
files make/Makefile makefiles/BuildNashorn.gmk makefiles/Makefile
diffstat 3 files changed, 171 insertions(+), 0 deletions(-)[+] [-] make/Makefile 1 makefiles/BuildNashorn.gmk 121 makefiles/Makefile 49

line wrap: on

line diff

--- a/make/Makefile Mon Jan 28 21:29:05 2013 +0530 +++ b/make/Makefile Mon Jan 28 16:22:03 2013 -0400 @@ -185,6 +185,7 @@

Standard make clobber target

clobber: clean

All ant targets of interest

ANT_TARGETS = clean externals update-externals jar javadoc shelldoc docs test test262 test262parallel octane sunspider perf alltests

--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/makefiles/BuildNashorn.gmk Mon Jan 28 16:22:03 2013 -0400 @@ -0,0 +1,121 @@ +# +# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# This must be the first rule +default: all + +-include $(SPEC) +include MakeBase.gmk +include JavaCompilation.gmk + +# TODO: build-infra, move this to SPEC +JAVAC_JARS ?= "-Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar" [](#l2.37) + -jar $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar + +JDK_CLASSES := $(JDK_OUTPUTDIR)/classes +# TODO: Remove dependency? +DYNALINK_JAR := $(NASHORN_TOPDIR)/build/dynalink/dynalink.jar + +NASHORN_JAR := $(NASHORN_DIST)/nashorn.jar +NASHORN_VERSION := 0.1 + +# Need to use source and target 7 for nasgen to work. +$(eval $(call SetupJavaCompiler,COMPILER_SETUP,[](#l2.48)

+ +# Build nashorn into intermediate directory +$(eval $(call SetupJavaCompilation,BUILD_NASHORN,[](#l2.56)

+ +# Build nasgen +$(eval $(call SetupJavaCompilation,BUILD_NASGEN,[](#l2.64)

+ +# Nasgen needs nashorn classes +$(BUILD_NASGEN): $(BUILD_NASHORN) + +# Copy classes to final classes dir and run nasgen to modify classes in jdk.nashorn.internal.objects package +# Finally rename classes in jdk.nashorn.internal.objects package +$(NASHORN_OUTPUTDIR)/classes/_the.nasgen.run: $(BUILD_NASGEN) + $(ECHO) Running nasgen

+ + +MANIFEST_ATTRIBUTES:=Name: jdk/nashorn/\nImplementation-Title: Oracle Nashorn\nImplementation-Version: $(NASHORN_VERSION) + +# Create nashorn.jar from the final classes dir +$(eval $(call SetupArchive,BUILD_NASHORN_JAR,[](#l2.111)

+ +all: $(NASHORN_JAR) + +.PHONY: all

--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/makefiles/Makefile Mon Jan 28 16:22:03 2013 -0400 @@ -0,0 +1,49 @@ +# +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# Locate this Makefile +ifeq ($(filter /%,$(lastword $(MAKEFILE_LIST))),)

+else

+endif +repo_dir:=$(patsubst %/makefiles/Makefile,%,$(makefile_path)) + +# What is the name of this subsystem (langtools, corba, etc)? +subsystem_name:=$(notdir $(repo_dir)) + +# Try to locate top-level makefile +top_level_makefile:=$(repo_dir)/../common/makefiles/Makefile +ifneq ($(wildcard $(top_level_makefile)),)