diff --git a/package/jamvm/Config.in b/package/jamvm/Config.in new file mode 100644 index 0000000000..f7f4d3094e --- /dev/null +++ b/package/jamvm/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_JAMVM + bool "jamvm" + default n + depends on BR2_PACKAGE_CLASSPATH + + help + JamVM is a new Java Virtual Machine which conforms to the JVM specification version 2 (blue book). + In comparison to most other VM's (free and commercial) it is extremely small, with a stripped executable on PowerPC of only ~180K, and Intel 150K. + However, unlike other small VMs (e.g. KVM) it is designed to support the full specification, and includes support for + object finalisation, Soft/Weak/Phantom References, class-unloading, the Java Native Interface (JNI) and the Reflection API. + http://jamvm.sourceforge.net/ diff --git a/package/jamvm/jamvm.mk b/package/jamvm/jamvm.mk new file mode 100644 index 0000000000..aa8ec7c6a6 --- /dev/null +++ b/package/jamvm/jamvm.mk @@ -0,0 +1,105 @@ +############################################################# +# +# jamvm 1.5.0 +# +############################################################# +JAMVM_VERSION = 1.5.0 +JAMVM_SOURCE = jamvm-$(JAMVM_VERSION)-avr32-src.tgz +JAMVM_SITE = http://www.avr32linux.org/twiki/pub/Main/JamVM/ +JAMVM_AUTORECONF = NO +JAMVM_INSTALL_STAGING = YES +JAMVM_INSTALL_TARGET = YES +JAMVM_INSTALL_STAGING_OPT = DESTDIR=$(STAGING_DIR) install +JAMVM_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install + +JAMVM_CONF_ENV = ac_cv_func_posix_getpwuid_r=yes glib_cv_stack_grows=no \ + glib_cv_uscore=no ac_cv_func_strtod=yes \ + ac_fsusage_space=yes fu_cv_sys_stat_statfs2_bsize=yes \ + ac_cv_func_closedir_void=no ac_cv_func_getloadavg=no \ + ac_cv_lib_util_getloadavg=no ac_cv_lib_getloadavg_getloadavg=no \ + ac_cv_func_getgroups=yes ac_cv_func_getgroups_works=yes \ + ac_cv_func_chown_works=yes ac_cv_have_decl_euidaccess=no \ + ac_cv_func_euidaccess=no ac_cv_have_decl_strnlen=yes \ + ac_cv_func_strnlen_working=yes ac_cv_func_lstat_dereferences_slashed_symlink=yes \ + ac_cv_func_lstat_empty_string_bug=no ac_cv_func_stat_empty_string_bug=no \ + vb_cv_func_rename_trailing_slash_bug=no ac_cv_have_decl_nanosleep=yes \ + jm_cv_func_nanosleep_works=yes gl_cv_func_working_utimes=yes \ + ac_cv_func_utime_null=yes ac_cv_have_decl_strerror_r=yes \ + ac_cv_func_strerror_r_char_p=no jm_cv_func_svid_putenv=yes \ + ac_cv_func_getcwd_null=yes ac_cv_func_getdelim=yes \ + ac_cv_func_mkstemp=yes utils_cv_func_mkstemp_limitations=no \ + utils_cv_func_mkdir_trailing_slash_bug=no ac_cv_func_memcmp_working=yes \ + ac_cv_have_decl_malloc=yes gl_cv_func_malloc_0_nonnull=yes \ + ac_cv_func_malloc_0_nonnull=yes ac_cv_func_calloc_0_nonnull=yes \ + ac_cv_func_realloc_0_nonnull=yes jm_cv_func_gettimeofday_clobber=no \ + gl_cv_func_working_readdir=yes jm_ac_cv_func_link_follows_symlink=no \ + utils_cv_localtime_cache=no ac_cv_struct_st_mtim_nsec=no \ + gl_cv_func_tzset_clobber=no gl_cv_func_getcwd_null=yes \ + gl_cv_func_getcwd_path_max=yes ac_cv_func_fnmatch_gnu=yes \ + am_getline_needs_run_time_check=no am_cv_func_working_getline=yes \ + gl_cv_func_mkdir_trailing_slash_bug=no gl_cv_func_mkstemp_limitations=no \ + ac_cv_func_working_mktime=yes jm_cv_func_working_re_compile_pattern=yes \ + ac_use_included_regex=no gl_cv_c_restrict=no \ + ac_cv_path_GLIB_GENMARSHAL=/usr/bin/glib-genmarshal \ + ac_cv_prog_F77=no ac_cv_prog_CXX=no ac_cv_path_CUPS_CONFIG=no + +JAMVM_CONF_OPT = --target=$(GNU_TARGET_NAME) --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) --prefix=/usr \ + --exec-prefix=/usr --bindir=/usr/bin \ + --sbindir=/usr/sbin --libdir=/usr/lib \ + --libexecdir=/usr/lib --sysconfdir=/etc \ + --datadir=/usr/share --localstatedir=/var \ + --includedir=/usr/include --mandir=/usr/man \ + --infodir=/usr/info --enable-shared \ + --enable-static \ + --disable-glibtest --enable-explicit-deps=no \ + --disable-debug PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" \ + --with-classpath-install-dir=/usr \ + + +JAMVM_DEPENDENCIES = uclibc classpath + +#Include X libraries when we have an X server +ifneq ($(BR2_PACKAGE_XSERVER_none),y) + JAMVM_DEPENDENCIES+= $(XSERVER) + JAMVM_CONF_OPT+= --with-x \ + --x-includes=$(STAGING_DIR)/usr/include/X11 \ + --x-libraries=$(STAGING_DIR)/usr/lib +else + JAMVM_CONF_OPT+= --without-x +endif + + +#Enable or disable alsa +ifeq ($(BR2_PACKAGE_ALSA_LIB),y) + JAMVM_DEPENDENCIES+= alsa-lib + JAMVM_CONF_OPT+= --with-alsa +else + JAMVM_CONF_OPT+= --without-alsa +endif + +#Enable or disable gtk +ifeq ($(BR2_PACKAGE_LIBGTK2),y) + JAMVM_DEPENDENCIES+= libgtk2 + JAMVM_CONF_OPT+= --enable-gtk-peer +else + JAMVM_CONF_OPT+= --disable-gtk-peer +endif + +#Enable or disable qt backend +ifeq ($(BR2_PACKAGE_QTOPIA4),y) + JAMVM_DEPENDENCIES+= qtopia4 + JAMVM_CONF_OPT+= --enable-qt-peer +else + JAMVM_CONF_OPT+= --disable-qt-peer +endif + + +# I have no clue but if this is not passed to configure, the assembler crashes +ifeq ($(BR2_avr32),y) + JAMVM_CONF_OPT+= \ + CFLAGS="-g0" \ + CC="$(STAGING_DIR)/usr/bin/avr32-linux-gcc" +endif + +$(eval $(call AUTOTARGETS,package,jamvm))