I've been on these forums for a while, and I think it's time I gave something back.
I spent a lot of effort typing up a README, so I'll just paste it here:
The Mind's Eye Games LWJGL Wrapper README
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
About.......................................................................
The MEG LWJGL Wrapper is meant to provide a contained, simple method of
packaging LWJGL in a Java Application. It gives a developer the
following benefits:
1: Not have to manually install the LWJGL natives along with the
program, but instead have them automatically extracted to the
user's hard drive at startup.
2: Simplify the process for initializing the LWJGL library to a
single line of code.
3: By using the wrapper library with multiple programs, the
extracted files are shared between those programs, meaning that
multiple installs will have the minimum of data on the user's
computer. Programs using different versions of LWJGL will
coexist automatically, as the natives are organized by version
number.
4: Allows for easy updating of the LWJGL version of a program
without worrying about deleting old files.
In short, using the LWJGL Wrapper library allows you to make compact,
executable jars that launch easily, share native libraries, and require
no installation. In fact, you can make a single jar file that can
seamlessly be copied from Windows, to Mac, to Linux, and back, working
perfectly on each platform.
How It Works................................................................
The operations performed by the wrapper are actually very simple. Here
is what the must call:
new LWJGLLibrary().load(SystemInfo.detectCurrent());
Pretty simple, right? Looks friendly? Well, here's what happens in that
little call:
1. A LWJGLLibrary object is created.
a. The LWJGLLibrary determines the LibraryInfo that
describes it, and sets the classloader it will use for
b. The LWJGLLibrary sets the paths to all files it should
extract, for all supported operating systems and system
architectures.
2. The load(SystemInfo) method of the created library is called. The
supplied SystemInfo describes the current computer running the
program.
a. The LWJGLLibrary determines the target directory on the
user's computer.
i. If a specific directory has been chosen with
the setExtractDir(String) method, the described
file is chosen.
ii. Otherwise, a default directory is chosen -
the application directory on the host OS.
b. The files are extracted to the directory.
i. If there is a file conflict when extracting any
of the files, that file is skipped - the program
assumes that the preexisting file was the
product of an earlier extraction, and doesn't
waste time with an overwrite.
c. The System property "org.lwjgl.librarypath" is set to
match the extraction directory. LWJGL is loaded
automatically!
Contents of this Distribution...............................................
The following files should be found in this distribution:
1: "MEG LWJGL Wrapper.jar" - A jar file containing the wrapper
library! Simply add this to the build path of a java
application, and there you are.
2: "Mind's Eye Games LWJGL Wrapper License.txt" - A text file
describing the license for this distribution.
3: "LWJGLLibraryExample.java" - A simple java class illustrating
the use of this library.
4: "MEG LWJGL Wrapper Javadoc.zip" - A zipped archive of the
javadoc.
5: "MEG LWJGL Wrapper README.txt" - This file, that you are reading
right now.
6. Contents of the "LWJGL Docs" folder - This directory contains all
the documentation and licenses associated with LWJGL and its
third-party libraries.
Notes.......................................................................
A couple of notes:
1: The jar files "jinput.jar", "lwjgl.jar", and "lwjgl_util.jar"
have all been repackaged into the "MEG LWJGL Wrapper.jar" file.
This was deemed necessary, because the LWJGL version being used
is dependent on the native libraries for that version. If a user
attempts to use different lwjgl jars, it may cause a crash. So,
in an attempt to head that off, the jars were combined.
Additionally, this makes the jar much more compact. Instead of
needing to keep track of 4 different jars, this allows the
developer to have a single jar managing the entire LWJGL package.
2: The direct source code is not included in this distribution. This
is not because I envision this as a closed-source project, but
because the code used here is based on a larger, generalized
library that I have not completely finished. When that library is
finished, the source for both it and this will be made available.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Thank you!
Chris Molini
Mind's Eye Games
The download is here: http://www.minds-eye-games.com/downloads/libs/lwjgl_wrapper/Mind%27s%20Eye%20Games%20LWJGL%20Wrapper.zip (http://www.minds-eye-games.com/downloads/libs/lwjgl_wrapper/Mind%27s%20Eye%20Games%20LWJGL%20Wrapper.zip)
Hiya!
I see this post was made several years ago so I am hopeful that you can provide a link to the source code :)
I just want to compile my own version of lwjgl with the source of all the supporting jars as well, just because thats the way I roll! :)
Regards