changeset 1647:1affd6e50973

2009-02-18 Lillian Angel <langel@redhat.com> Tomas Hurka <tomas.hurka@sun.com> * INSTALL: Updated requirements. * Makefile.am: Added building support for VisualVM with NetBeans 6.5. * acinclude.m4: Added check for NetBeans. * configure.ac: Added --enable-visualvm option. * visualvm.desktop: New file. (transplanted from a2763653f8cfd512aeeccfe32396fcd7ab31d20a)
author Lillian Angel <langel@redhat.com>
date Wed, 18 Feb 2009 14:12:09 -0500
parents 5274b135951b (current diff) a2763653f8cf (diff)
children dc51ad593083
files ChangeLog INSTALL Makefile.am acinclude.m4 configure.ac
diffstat 5 files changed, 160 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Feb 18 14:42:06 2009 -0500
+++ b/ChangeLog	Wed Feb 18 14:12:09 2009 -0500
@@ -254,6 +254,15 @@
 	* configure.ac: Added --enable-visualvm option.
 	* visualvm.desktop: New file.	
 
+2009-02-18  Lillian Angel  <langel@redhat.com>
+	Tomas Hurka <tomas.hurka@sun.com>
+	
+	* INSTALL: Updated requirements.
+	* Makefile.am: Added building support for VisualVM with NetBeans 6.5.
+	* acinclude.m4: Added check for NetBeans.
+	* configure.ac: Added --enable-visualvm option.
+	* visualvm.desktop: New file.	
+
 2009-02-17  Gary Benson  <gbenson@redhat.com>
 
 	* ports/hotspot/src/cpu/zero/vm/stack_zero.hpp: Updated copyright year.	
--- a/INSTALL	Wed Feb 18 14:42:06 2009 -0500
+++ b/INSTALL	Wed Feb 18 14:12:09 2009 -0500
@@ -38,6 +38,9 @@
 For building VisualVM, you will need
 netbeans = 6.5
 
+For building VisualVM, you will need
+netbeans = 6.5
+
 For building the zero-assembler port (see below), you will need libffi.
 
 See ./configure --help if you need to override the defaults.
--- a/Makefile.am	Wed Feb 18 14:42:06 2009 -0500
+++ b/Makefile.am	Wed Feb 18 14:12:09 2009 -0500
@@ -1659,6 +1659,29 @@
           -O $(VISUALVM_SRC_ZIP) ; \
          fi
 endif
+if WITH_VISUALVM
+	if ! echo "$(NETBEANS_PROFILER_MD5SUM)  $(NETBEANS_PROFILER_SRC_ZIP)" \
+	 | $(MD5SUM) --check ; \
+	then \
+	 if [ $(NETBEANS_PROFILER_SRC_ZIP) ] ; \
+	 then \
+	  mv $(NETBEANS_PROFILER_SRC_ZIP) $(NETBEANS_PROFILER_SRC_ZIP).old ; \
+	 fi ; \
+	 $(WGET) $(NETBEANS_PROFILER_URL)$(NETBEANS_PROFILER_SRC_ZIP) \
+	  -O $(NETBEANS_PROFILER_SRC_ZIP) ; \
+	 fi
+
+	if ! echo "$(VISUALVM_MD5SUM)  $(VISUALVM_SRC_ZIP)" \
+         | $(MD5SUM) --check ; \
+        then \
+         if [ $(VISUALVM_SRC_ZIP) ] ; \
+         then \
+          mv $(VISUALVM_SRC_ZIP) $(VISUALVM_SRC_ZIP).old ; \
+         fi ; \
+         $(WGET) $(VISUALVM_URL)$(VISUALVM_SRC_ZIP) \
+          -O $(VISUALVM_SRC_ZIP) ; \
+         fi
+endif
 	mkdir -p stamps
 	touch stamps/download.stamp
 
@@ -1670,6 +1693,14 @@
 VISUALVM_SRC_ZIP = visualvm-11-src.tar.gz
 
 
+# VisualVM sources. Alternatives cannot be used here.
+NETBEANS_PROFILER_URL = http://icedtea.classpath.org/visualvm/
+NETBEANS_PROFILER_SRC_ZIP = netbeans-profiler-visualvm_release65_mod.tar.gz
+
+VISUALVM_URL = https://visualvm.dev.java.net/files/documents/7163/127067/
+VISUALVM_SRC_ZIP = visualvm-11-src.tar.gz
+
+
 stamps/hgforest.stamp:
 if OPENJDK_SRC_DIR_FOUND
 else
@@ -1706,6 +1737,10 @@
 	rm -f $(VISUALVM_SRC_ZIP)
 	rm -f $(NETBEANS_PROFILER_SRC_ZIP)
 endif
+if WITH_VISUALVM
+	rm -f $(VISUALVM_SRC_ZIP)
+	rm -f $(NETBEANS_PROFILER_SRC_ZIP)
+endif
 
 # Link ports sources into tree
 stamps/ports.stamp: stamps/extract.stamp
@@ -3051,6 +3086,59 @@
 	rm -rf netbeans
 	rm -f stamps/nbplatform.stamp
 
+# VisualVM
+
+stamps/visualvm.stamp: $(BOOTSTRAP_DIRECTORY_STAMP) stamps/download.stamp \
+	stamps/extract.stamp stamps/nbplatform.stamp
+if WITH_VISUALVM
+	cd visualvm ; \
+	ln -s $(abs_top_srcdir)/netbeans/nbbuild/netbeans_visualvm netbeans ; \
+	JAVA_HOME=$(ICEDTEA_HOME) $(ANT) build
+endif
+	mkdir -p stamps
+	touch $@
+
+clean-visualvm:
+	rm -rf visualvm
+	rm -f stamps/visualvm.stamp
+
+stamps/nbplatform.stamp: $(BOOTSTRAP_DIRECTORY_STAMP) stamps/extract.stamp \
+	stamps/download.stamp
+if WITH_VISUALVM
+	mkdir netbeans ; \
+	cd netbeans ; \
+        rm nbbuild/external/binaries-list ; \
+        rm -r lib.profiler/release/lib/deployed ; \
+        mkdir -p lib.profiler/release/lib/deployed/jdk15/linux ; \
+        mkdir -p lib.profiler/release/lib/deployed/jdk16/linux ; \
+	mkdir -p ./nbbuild/netbeans_visualvm/ ; \
+	ln -s $(SYSTEM_NETBEANS_DIR)/platform9/ ./nbbuild/netbeans_visualvm/platform9 ; \
+	ln -s $(SYSTEM_NETBEANS_DIR)/apisupport1/ ./nbbuild/netbeans_visualvm/apisupport1 ; \
+	ln -s $(SYSTEM_NETBEANS_DIR)/harness/ ./nbbuild/netbeans_visualvm/harness ; \
+	cd lib.profiler/native/build ; \
+	if ! (uname -a | grep x86_64) ; then \
+	  buildscript=./buildnative-linux-15.sh ; \
+	else \
+	  buildscript=./buildnative-linux64-15.sh ; \
+	fi ; \
+	JAVA_HOME_15=$(ICEDTEA_HOME) JAVA_HOME_16=$(ICEDTEA_HOME) \
+	  $$buildscript ; \
+	cd ../../.. ; \
+        JAVA_HOME=$(ICEDTEA_HOME) $(ANT) -Dpermit.jdk6.builds=true \
+            -f nbbuild/build.xml bootstrap ; \
+	for dir in lib.profiler lib.profiler.ui lib.profiler.common profiler ; do \
+	  JAVA_HOME=$(ICEDTEA_HOME) $(ANT) -Dpermit.jdk6.builds=true -Dbuildnumber=081204 \
+            -Dnetbeans.dest.dir=../nbbuild/netbeans_visualvm \
+	    -f $$dir/build.xml ; \
+	done 
+endif
+	mkdir -p stamps
+	touch $@
+
+clean-nbplatform:
+	rm -rf netbeans
+	rm -f stamps/nbplatform.stamp
+
 # fsg-tarball
 
 # Creates archive of openjdk that is compliant with Free Software guidelines.
@@ -3078,6 +3166,10 @@
 
 extract-visualvm: stamps/extract-visualvm.stamp
 
+visualvm: stamps/visualvm.stamp
+
+nbplatform: stamps/nbplatform.stamp
+
 copy-source-files: stamps/copy-source-files.stamp
 
 download: stamps/download.stamp
--- a/acinclude.m4	Wed Feb 18 14:42:06 2009 -0500
+++ b/acinclude.m4	Wed Feb 18 14:12:09 2009 -0500
@@ -583,6 +583,31 @@
   AC_SUBST(NETBEANS)
 ])
 
+AC_DEFUN([FIND_NETBEANS],
+[
+  AC_ARG_WITH([netbeans],
+              [AS_HELP_STRING(--with-netbeans,specify location of netbeans)],
+  [
+    if test -f "${withval}"; then
+      AC_MSG_CHECKING(netbeans)
+      NETBEANS="${withval}"
+      AC_MSG_RESULT(${withval})
+    else
+      AC_PATH_PROG(NETBEANS, "${withval}")
+    fi
+  ],
+  [
+    NETBEANS=
+  ])
+  if test -z "${NETBEANS}"; then
+    AC_PATH_PROG(NETBEANS, "netbeans")
+  fi
+  if test -z "${NETBEANS}"; then
+    AC_MSG_ERROR("NetBeans was not found.")
+  fi
+  AC_SUBST(NETBEANS)
+])
+
 AC_DEFUN([FIND_RHINO_JAR],
 [
   AC_MSG_CHECKING(whether to include Javascript support via Rhino)
--- a/configure.ac	Wed Feb 18 14:42:06 2009 -0500
+++ b/configure.ac	Wed Feb 18 14:12:09 2009 -0500
@@ -73,6 +73,24 @@
 AC_MSG_RESULT([${SYSTEM_NETBEANS_DIR}])
 AC_SUBST(SYSTEM_NETBEANS_DIR)
 
+AC_MSG_CHECKING([for a NetBeans installation])
+AC_ARG_WITH([netbeans-home],
+           [AS_HELP_STRING([--with-netbeans-home],
+                            [NetBeans home directory (default is /usr/share/netbeans)])],
+            [
+              if test "x${withval}" = x
+              then
+                SYSTEM_NETBEANS_DIR=/usr/share/netbeans
+              else
+                SYSTEM_NETBEANS_DIR=${withval}
+              fi
+            ],
+            [
+              SYSTEM_NETBEANS_DIR=/usr/share/netbeans
+            ])
+AC_MSG_RESULT([${SYSTEM_NETBEANS_DIR}])
+AC_SUBST(SYSTEM_NETBEANS_DIR)
+
 AC_MSG_CHECKING([whether to build using an existing installation of OpenJDK])
 AC_ARG_WITH([openjdk],
         [AS_HELP_STRING([--with-openjdk],
@@ -117,6 +135,14 @@
 AM_CONDITIONAL(WITH_VISUALVM, test "x${enable_visualvm}" = "xyes")
 AC_MSG_RESULT(${enable_visualvm})
 
+AC_MSG_CHECKING(whether to build VisualVM)
+AC_ARG_ENABLE([visualvm],
+              [AS_HELP_STRING([--enable-visualvm],
+                                         [Enable compilation of visualvm.])],
+              [enable_visualvm="${enableval}"], [enable_visualvm="no"])
+AM_CONDITIONAL(WITH_VISUALVM, test "x${enable_visualvm}" = "xyes")
+AC_MSG_RESULT(${enable_visualvm})
+
 AC_MSG_CHECKING([whether to build the LiveConnect plugin])
 AC_ARG_ENABLE([liveconnect],
               [AS_HELP_STRING([--disable-liveconnect],
@@ -275,6 +301,11 @@
   FIND_NETBEANS
 fi
 
+if test "x${enable_visualvm}" = "xyes"
+then
+  FIND_NETBEANS
+fi
+
 if test "x${enable_pulse_java}" = "xyes"
 then
   FIND_PULSEAUDIO