summaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
Diffstat (limited to 'make')
-rwxr-xr-xmake/build.xml59
-rwxr-xr-xmake/joal-CustomCCode.c44
-rwxr-xr-xmake/joal-alc.cfg11
-rwxr-xr-xmake/joal.cfg21
4 files changed, 20 insertions, 115 deletions
diff --git a/make/build.xml b/make/build.xml
index 8ff3829..99d2802 100755
--- a/make/build.xml
+++ b/make/build.xml
@@ -207,31 +207,31 @@
<target name="declare.win32.vc6" if="isVC6">
<echo message="Win32.VC6" />
<property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
- <property name="linker.cfg.id" value="linker.cfg.win32.msvc.joal" />
+ <property name="linker.cfg.id" value="linker.cfg.win32.msvc" />
</target>
<target name="declare.win32.vc7" if="isVC7">
<echo message="Win32.VC7" />
<property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
- <property name="linker.cfg.id" value="linker.cfg.win32.msvc.joal" />
+ <property name="linker.cfg.id" value="linker.cfg.win32.msvc" />
</target>
<target name="declare.win32.vc8" if="isVC8">
<echo message="Win32.VC8" />
<property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
- <property name="linker.cfg.id" value="linker.cfg.win32.msvc.joal" />
+ <property name="linker.cfg.id" value="linker.cfg.win32.msvc" />
</target>
<target name="declare.win32.vc8_x64" if="isVC8_X64">
<echo message="Win32.VC8_X64" />
<property name="compiler.cfg.id" value="compiler.cfg.win32.msvc" />
- <property name="linker.cfg.id" value="linker.cfg.win32.msvc.joal" />
+ <property name="linker.cfg.id" value="linker.cfg.win32.msvc" />
</target>
<target name="declare.win32.mingw" if="isMingw">
<echo message="Win32.MingW" />
<property name="compiler.cfg.id" value="compiler.cfg.win32.mingw" />
- <property name="linker.cfg.id" value="linker.cfg.win32.mingw.joal" />
+ <property name="linker.cfg.id" value="linker.cfg.win32.mingw" />
</target>
<target name="declare.win32" depends="declare.win32.vc6,declare.win32.vc7,declare.win32.vc8,declare.win32.vc8_x64,declare.win32.mingw" if="isWindows">
@@ -243,7 +243,7 @@
<property name="java.includes.dir.platform" value="${java.includes.dir.linux}" />
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
- <property name="linker.cfg.id" value="linker.cfg.linux.joal" />
+ <property name="linker.cfg.id" value="linker.cfg.linux" />
</target>
<target name="declare.linux.amd64" if="isLinuxAMD64">
@@ -251,7 +251,7 @@
<property name="java.includes.dir.platform" value="${java.includes.dir.linux}" />
<property name="compiler.cfg.id" value="compiler.cfg.linux.amd64" />
- <property name="linker.cfg.id" value="linker.cfg.linux.amd64.joal" />
+ <property name="linker.cfg.id" value="linker.cfg.linux.amd64" />
</target>
<target name="declare.linux.ia64" if="isLinuxIA64">
@@ -259,7 +259,7 @@
<property name="java.includes.dir.platform" value="${java.includes.dir.linux}" />
<property name="compiler.cfg.id" value="compiler.cfg.linux" />
- <property name="linker.cfg.id" value="linker.cfg.linux.joal" />
+ <property name="linker.cfg.id" value="linker.cfg.linux" />
</target>
<target name="declare.linux" depends="declare.linux.x86,declare.linux.amd64,declare.linux.ia64" if="isLinux" />
@@ -269,7 +269,7 @@
<property name="java.includes.dir.platform" value="${java.includes.dir.solaris}" />
<property name="compiler.cfg.id" value="compiler.cfg.solaris" />
- <property name="linker.cfg.id" value="linker.cfg.solaris.joal" />
+ <property name="linker.cfg.id" value="linker.cfg.solaris" />
</target>
<target name="declare.solaris.sparcv9" if="isSolarisSparcv9">
@@ -277,7 +277,7 @@
<property name="java.includes.dir.platform" value="${java.includes.dir.solaris}" />
<property name="compiler.cfg.id" value="compiler.cfg.solaris.sparcv9" />
- <property name="linker.cfg.id" value="linker.cfg.solaris.sparcv9.joal" />
+ <property name="linker.cfg.id" value="linker.cfg.solaris.sparcv9" />
</target>
@@ -286,7 +286,7 @@
<property name="java.includes.dir.platform" value="${java.includes.dir.solaris}" />
<property name="compiler.cfg.id" value="compiler.cfg.solaris.amd64" />
- <property name="linker.cfg.id.core" value="linker.cfg.solaris.amd64.joal" />
+ <property name="linker.cfg.id.core" value="linker.cfg.solaris.amd64" />
</target>
<target name="declare.macosx" if="isOSX">
@@ -302,7 +302,7 @@
<property name="java.includes.dir.platform" value="${java.includes.dir.freebsd}" />
<property name="compiler.cfg.id" value="compiler.cfg.freebsd" />
- <property name="linker.cfg.id" value="linker.cfg.linux.joal" />
+ <property name="linker.cfg.id" value="linker.cfg.linux" />
</target>
<target name="declare.hpux" if="isHPUX">
@@ -310,7 +310,7 @@
<property name="java.includes.dir.platform" value="${java.includes.dir.hpux}" />
<property name="compiler.cfg.id" value="compiler.cfg.hpux" />
- <property name="linker.cfg.id" value="linker.cfg.hpux.joal" />
+ <property name="linker.cfg.id" value="linker.cfg.hpux" />
</target>
<!-- ================================================================== -->
@@ -447,44 +447,11 @@
<target name="c.configure" depends="gluegen.cpptasks.configure.compiler">
<!-- linker configuration -->
- <linker id="linker.cfg.linux.joal" extends="linker.cfg.linux">
- <syslibset dir="${joal.lib.dir}" libs="openal"/>
- </linker>
-
- <linker id="linker.cfg.linux.amd64.joal" extends="linker.cfg.linux.amd64">
- <syslibset dir="${joal.lib.dir}" libs="openal"/>
- </linker>
-
- <linker id="linker.cfg.solaris.joal" extends="linker.cfg.solaris">
- <syslibset dir="${joal.lib.dir}" libs="openal"/>
- </linker>
-
- <linker id="linker.cfg.solaris.sparcv9.joal" extends="linker.cfg.solaris.sparcv9">
- <syslibset dir="${joal.lib.dir}" libs="openal"/>
- </linker>
-
- <linker id="linker.cfg.solaris.amd64.joal" extends="linker.cfg.solaris.amd64">
- <syslibset dir="${joal.lib.dir}" libs="openal"/>
- </linker>
-
- <linker id="linker.cfg.win32.mingw.joal" extends="linker.cfg.win32.mingw">
- <syslibset dir="${joal.lib.dir}" libs="openal32, kernel32"/>
- </linker>
-
- <linker id="linker.cfg.win32.msvc.joal" extends="linker.cfg.win32.msvc">
- <syslibset dir="${joal.lib.dir}" libs="openal32" />
- <syslibset libs="kernel32"/>
- </linker>
-
<linker id="linker.cfg.macosx.joal" extends="linker.cfg.macosx">
<linkerarg value="-framework" />
<linkerarg value="OpenAL" />
</linker>
- <linker id="linker.cfg.hpux.joal" extends="linker.cfg.hpux">
- <syslibset dir="${joal.lib.dir}" libs="openal"/>
- </linker>
-
<patternset id="c.src.files.joal">
<include name="${rootrel.src.c}/*.c"/>
<include name="${rootrel.generated.c.joal}/*.c"/>
diff --git a/make/joal-CustomCCode.c b/make/joal-CustomCCode.c
deleted file mode 100755
index 26c9b42..0000000
--- a/make/joal-CustomCCode.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#if defined(_MSC_VER) /* Windows */
-#include <windows.h>
-static HMODULE oalModule = NULL;
-#else
-/* Hack for Linux */
-#define __USE_GNU
-#include <dlfcn.h>
-#endif
-
-/* Java->C glue code:
- * Java package: net.java.games.joal.impl.ALImpl
- * Java method: long dynamicLookupFunction0(java.lang.String fname)
- * C function: ALproc alGetProcAddress(const ALchar * fname);
- */
-JNIEXPORT jlong JNICALL
-Java_net_java_games_joal_impl_ALImpl_dynamicLookupFunction0__Ljava_lang_String_2(JNIEnv *env, jobject _unused, jstring fname) {
- const char* _UTF8fname = NULL;
- ALproc _res;
- if (fname != NULL) {
- if (fname != NULL) {
- _UTF8fname = (*env)->GetStringUTFChars(env, fname, (jboolean*)NULL);
- if (_UTF8fname == NULL) {
- (*env)->ThrowNew(env, (*env)->FindClass(env, "java/lang/OutOfMemoryError"),
- "Failed to get UTF-8 chars for argument \"fname\" in native dispatcher for \"alGetProcAddress\"");
- return 0;
- }
- }
- }
-#if defined(_MSC_VER) /* Windows */
- if (oalModule == NULL) {
- oalModule = GetModuleHandle("OpenAL32");
- }
- _res = (ALproc) GetProcAddress(oalModule, _UTF8fname);
-/* Looks like we can use dlsym on OS X as well as other Unix flavors */
-/* #elif defined(__APPLE__) && defined(__MACH__) */ /* OS X */
-#else /* Assume vanilla Unix */
- _res = (ALproc) dlsym(RTLD_DEFAULT, _UTF8fname);
-#endif
-
- if (fname != NULL) {
- (*env)->ReleaseStringUTFChars(env, fname, _UTF8fname);
- }
- return (jlong) (intptr_t) _res;
-}
diff --git a/make/joal-alc.cfg b/make/joal-alc.cfg
index 5425fec..8bb623c 100755
--- a/make/joal-alc.cfg
+++ b/make/joal-alc.cfg
@@ -56,14 +56,9 @@ ReturnValueCapacity alcGetCurrentContext 0
ReturnValueCapacity alcGetCurrentDevice 0
ReturnValueCapacity alcOpenDevice 0
-# These routines need to be statically linked for bootstrapping
-SkipProcAddressGen alcOpenDevice
-SkipProcAddressGen alcCreateContext
-SkipProcAddressGen alcMakeContextCurrent
-
-# Need an epilogue on alcOpenDevice and alcMakeContextCurrent to set
-# up the proc address tables the first time
-JavaEpilogue alcOpenDevice ALProcAddressLookup.resetALCProcAddressTable();
+# Need a prologue on alcOpenDevice and epilogue on alcMakeContextCurrent
+# to set up the proc address tables the first time
+JavaPrologue alcOpenDevice ALProcAddressLookup.resetALCProcAddressTable();
JavaEpilogue alcMakeContextCurrent ALProcAddressLookup.resetALProcAddressTable();
# To be able to use alcGetString before a context is created we need
diff --git a/make/joal.cfg b/make/joal.cfg
index 7e2d594..3bc9350 100755
--- a/make/joal.cfg
+++ b/make/joal.cfg
@@ -7,8 +7,6 @@ ImplPackage net.java.games.joal.impl
ImplJavaClass ALImpl
Extends AL ALConstants
-Implements ALImpl DynamicLookupHelper
-
EmitProcAddressTable true
ProcAddressTableClassName ALProcAddressTable
GetProcAddressTableExpr ALProcAddressLookup.getALProcAddressTable()
@@ -26,17 +24,13 @@ Ignore ^AL_.+
# operation in order to populate the ALProcAddressTable and
# ALCProcAddressTable. If / when it is fixed and we don't need
# compatibility with preexisting OpenAL 1.0 and 1.1 installations we
-# can enable the code below and delete the custom C code for
-# dynamicLookupFunction0.
+# can enable the code below, except presumably for the bootstrapping
+# routines alcOpenDevice, alcCreateContext, alcMakeContextCurrent, and
+# alGetProcAddress itself.
Ignore alGetProcAddress
# This routine is not exposed in the public API
# AccessControl alGetProcAddress PACKAGE_PRIVATE
-# And it's also statically linked for bootstrapping
-# (could also consider looking it up via dlsym to more fully allow
-# unloading of OpenAL, but that doesn't seem necessary and requires
-# more native code to load/unload libraries)
-# SkipProcAddressGen alGetProcAddress
# We also have to hack its return type for now because we can't make
# just that void* opaque
# Opaque long ALproc
@@ -60,12 +54,5 @@ CustomCCode #define __cdecl /* Trim non-standard keyword */
CustomCCode #endif
CustomCCode #include "efx.h"
-CustomJavaCode ALImpl /** Provides dlsym() capabilities because alGetProcAddress is
-CustomJavaCode ALImpl broken for core OpenAL routines at least up through OpenAL 1.1. */
-CustomJavaCode ALImpl public long dynamicLookupFunction(String functionName) {
-CustomJavaCode ALImpl return dynamicLookupFunction0(functionName);
-CustomJavaCode ALImpl }
-CustomJavaCode ALImpl private native long dynamicLookupFunction0(String functionName);
-
IncludeAs CustomCCode joal-common-CustomCCode.c
-IncludeAs CustomCCode joal-CustomCCode.c
+