diff --git a/build/windows/export/Makefile b/build/windows/export/Makefile
deleted file mode 100755
index 6c1dce21c..000000000
--- a/build/windows/export/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-CXXFLAGS = -mwindows -mno-cygwin -O2 -Wall
-#POBJS = launcher.o launcher-rc.o
-# don't want to include the p5 icons for the exported feller
-AOBJS = launcher.o
-
-#processing.exe: $(POBJS)
-# $(LINK.cc) $(CXXFLAGS) -o $@ $(POBJS)
-# cp processing.exe ../work/
-
-application.exe: $(AOBJS)
- $(LINK.cc) $(CXXFLAGS) -DEXPORT -o $@ $(AOBJS)
- cp application.exe ../work/modes/java/application/template.exe
- cp application.exe ../../../java/application/template.exe
-
-$(POBJS): Makefile
-
-#launcher-rc.o: launcher.rc
-# windres -i $< -o $@
-
-clean:
- $(RM) $(OBJS) application.exe
-# $(RM) $(OBJS) processing.exe application.exe
diff --git a/build/windows/export/application.exe b/build/windows/export/application.exe
deleted file mode 100755
index 03d8d5753..000000000
Binary files a/build/windows/export/application.exe and /dev/null differ
diff --git a/build/windows/export/launcher.cpp b/build/windows/export/launcher.cpp
deleted file mode 100644
index 06605c500..000000000
--- a/build/windows/export/launcher.cpp
+++ /dev/null
@@ -1,407 +0,0 @@
-// -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
-
-// if this code looks shitty, that's because it is. people are likely
-// to have the durndest things in their CLASSPATH environment variable.
-// mostly because installers often mangle them without the user knowing.
-// so who knows where and when the quotes will show up. the code below is
-// based on a couple years of trial and error with processing releases.
-
-// For revision 0102, a lot of changes were made to deal with stripping
-// the quotes from the PATH, CLASSPATH, and QTJAVA environment variables.
-// Any elements of the PATH and CLASSPATH that don't exist (whether files
-// or directories) are also stripped out before being set.
-// (Bug 112)
-
-// For revision 0201 (love that symmetry), the 'lib' folder was added to
-// the java.library.path, so that we can hide the pile of DLLs included
-// with some libraries (I'm looking at you, video), inside the lib folder.
-// QTJAVA mess was also excised, now that we're switching to gstreamer.
-
-// The size of all of the strings was made sort of ambiguously large, since
-// 1) nothing is hurt by allocating an extra few bytes temporarily and
-// 2) if the user has a long path, and it gets copied five times over for the
-// CLASSPATH, the program runs the risk of crashing. Bad bad.
-
-// TODO this code leaks memory all over the place because nothing has been
-// done to properly handle creation/deletion of new strings.
-
-// TODO switch to unicode versions of all methods in order to better support
-// running on non-English (non-Roman especially) versions of Windows.
-
-#define ARGS_FILE_PATH "\\lib\\args.txt"
-
-#include
-#include
-#include
-
-
-void removeLineEndings(char *what);
-char *scrubPath(char *incoming);
-char *mallocChars(int count);
-void removeQuotes(char *quoted);
-void removeTrailingSlash(char *slashed);
-
-//#define DEBUG
-
-int STDCALL
-WinMain (HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmd, int nShow)
-{
- // command line that was passed to this application
- char *incoming_cmd_line = (char *)malloc((strlen(lpCmd) + 1) * sizeof(char));
- strcpy(incoming_cmd_line, lpCmd);
-
- // get the full path to the application that was launched,
- // drop the app name but keep the path
- char *exe_directory = (char *)malloc(MAX_PATH * sizeof(char));
- //*exe_directory = 0;
- GetModuleFileName(NULL, exe_directory, MAX_PATH);
- // remove the application name
- *(strrchr(exe_directory, '\\')) = '\0';
-
-
- // open the file that contains the main class name and java args
-
- char *args_file_path = (char*)
- malloc(strlen(exe_directory) * sizeof(char) +
- strlen(ARGS_FILE_PATH) * sizeof(char) + 1);
- strcpy(args_file_path, exe_directory);
- strcat(args_file_path, ARGS_FILE_PATH);
-
- char java_args[512];
- char java_main_class[512];
- char jar_list[512];
- char *app_classpath = (char *)malloc(10 * strlen(exe_directory) + 4096);
-
- FILE *argsfile = fopen(args_file_path, "r");
- if (argsfile == NULL) {
- sprintf(app_classpath,
- "This program is missing the \"lib\" folder, "
- "which should be located at\n%s",
- exe_directory);
- MessageBox(NULL, app_classpath, "Folder Missing", MB_OK);
- return 0;
-
- } else {
- fgets(java_args, 511, argsfile);
- removeLineEndings(java_args);
- fgets(java_main_class, 511, argsfile);
- removeLineEndings(java_main_class);
- fgets(jar_list, 511, argsfile);
- removeLineEndings(jar_list);
-
-#ifdef DEBUG
- MessageBox(NULL, java_args, "args", MB_OK);
- MessageBox(NULL, java_main_class, "class", MB_OK);
- MessageBox(NULL, jar_list, "jarlist", MB_OK);
-#endif
-
- app_classpath[0] = 0;
- char *jar = (char*) strtok(jar_list, ",");
- while (jar != NULL) {
- char entry[1024];
- sprintf(entry, "%s\\lib\\%s;", exe_directory, jar);
- strcat(app_classpath, entry);
- jar = (char*) strtok(NULL, ",");
- }
- fclose(argsfile);
- }
-
- //
-
- char *cp = (char *)malloc(10 * strlen(exe_directory) + 4096);
-
- // test to see if running with a java runtime nearby or not
- char *testpath = (char *)malloc(MAX_PATH * sizeof(char));
- *testpath = 0;
- strcpy(testpath, exe_directory);
- strcat(testpath, "\\java\\bin\\java.exe");
- FILE *fp = fopen(testpath, "rb");
- int local_jre_installed = (fp != NULL);
- if (fp != NULL) fclose(fp);
-
- //const char *envClasspath = getenv("CLASSPATH");
- //char *env_classpath = (char *)malloc(16384 * sizeof(char));
-
- // ignoring CLASSPATH for now, because it's not needed
- // and causes more trouble than it's worth [0060]
- //env_classpath[0] = 0;
-
- // don't put quotes around contents of cp, even though %s might have
- // spaces in it. don't put quotes in it, because it's setting the
- // environment variable for CLASSPATH, not being included on the
- // command line. so setting the env var it's ok to have spaces,
- // and the quotes prevent javax.comm.properties from being found.
-
- strcpy(cp, app_classpath);
- if (local_jre_installed) {
- char *local_jre = mallocChars(64 + strlen(exe_directory) * 2);
- sprintf(local_jre, "%s\\java\\lib\\rt.jar;%s\\java\\lib\\tools.jar;", exe_directory, exe_directory);
- strcat(cp, local_jre);
- }
-
- char *clean_cp = scrubPath(cp);
- //if (!SetEnvironmentVariable("CLASSPATH", cp)) {
- if (!SetEnvironmentVariable("CLASSPATH", clean_cp)) {
- MessageBox(NULL, "Could not set CLASSPATH environment variable",
- "Processing Error", MB_OK);
- return 1;
- }
-
-#ifdef DEBUG
- MessageBox(NULL, "done with classpath cleaning", "2", MB_OK);
-#endif
-
- int env_path_length = strlen(getenv("PATH"));
- char *env_path = mallocChars(env_path_length);
- strcpy(env_path, getenv("PATH"));
- char *clean_path;
-
- // need to add the local jre to the path for 'java mode' in the env
- if (local_jre_installed) {
- char *path_to_clean =
- mallocChars(env_path_length + strlen(exe_directory) + 30);
- sprintf(path_to_clean, "%s\\java\\bin;%s", exe_directory, env_path);
- clean_path = scrubPath(path_to_clean);
- } else {
- clean_path = scrubPath(getenv("PATH"));
- }
-
- //MessageBox(NULL, clean_path, "after scrubbing PATH", MB_OK);
- //MessageBox(NULL, "3", "checking", MB_OK);
-
- if (!SetEnvironmentVariable("PATH", clean_path)) {
- MessageBox(NULL, "Could not set PATH environment variable",
- "Processing Error", MB_OK);
- return 0;
- }
-
- // what gets put together to pass to jre
- char *outgoing_cmd_line = (char *)malloc(16384 * sizeof(char));
-
- // prepend the args for -mx and -ms
- strcpy(outgoing_cmd_line, java_args);
- strcat(outgoing_cmd_line, " ");
-
- // for 2.0a2, add the 'lib' folder to the java.library.path
- strcat(outgoing_cmd_line, "\"-Djava.library.path=");
- strcat(outgoing_cmd_line, exe_directory);
- strcat(outgoing_cmd_line, "\\lib\" ");
-
- // Ignore JNA from the system path
- // https://github.com/processing/processing/issues/2239
- strcat(outgoing_cmd_line, "-Djna.nosys=true ");
-
- // add the name of the class to execute and a space before the next arg
- strcat(outgoing_cmd_line, java_main_class);
- strcat(outgoing_cmd_line, " ");
-
- // append additional incoming stuff (document names), if any
- strcat(outgoing_cmd_line, incoming_cmd_line);
-
- //MessageBox(NULL, outgoing_cmd_line, "cmd_line", MB_OK);
-
- char *executable =
- (char *)malloc((strlen(exe_directory) + 256) * sizeof(char));
- // exe_directory is the name path to the current application
-
- if (local_jre_installed) {
- strcpy(executable, exe_directory);
- // copy in the path for javaw, relative to launcher.exe
- strcat(executable, "\\java\\bin\\javaw.exe");
- } else {
-#ifdef DEBUG
- strcpy(executable, "java.exe");
-#else
- strcpy(executable, "javaw.exe");
-#endif
- }
-
- SHELLEXECUTEINFO ShExecInfo;
-
-#ifdef DEBUG
- MessageBox(NULL, outgoing_cmd_line, executable, MB_OK);
-#endif
-
- // set up the execution info
- ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
- ShExecInfo.fMask = 0;
- ShExecInfo.hwnd = 0;
- ShExecInfo.lpVerb = "open";
- ShExecInfo.lpFile = executable;
- ShExecInfo.lpParameters = outgoing_cmd_line;
- ShExecInfo.lpDirectory = exe_directory;
- ShExecInfo.nShow = SW_SHOWNORMAL;
- ShExecInfo.hInstApp = NULL;
-
- if (!ShellExecuteEx(&ShExecInfo)) {
- MessageBox(NULL, "Error calling ShellExecuteEx()",
- "Processing Error", MB_OK);
- return 0;
- }
-
- if (reinterpret_cast(ShExecInfo.hInstApp) <= 32) {
- // some type of error occurred
- switch (reinterpret_cast(ShExecInfo.hInstApp)) {
- case ERROR_FILE_NOT_FOUND:
- case ERROR_PATH_NOT_FOUND:
- MessageBox(NULL, "A required file could not be found. \n"
- "You may need to install a Java runtime\n"
- "or re-install Processing.",
- "Processing Error", MB_OK);
- break;
- case 0:
- case SE_ERR_OOM:
- MessageBox(NULL, "Not enough memory or resources to run at"
- " this time.", "Processing Error", MB_OK);
-
- break;
- default:
- MessageBox(NULL, "There is a problem with your installation.\n"
- "If the problem persists, re-install the program.",
- "Processing Error", MB_OK);
- break;
- }
- }
-
- return 0;
-
- /*
- PROCESS_INFORMATION pi;
- memset(&pi, 0, sizeof(pi));
- STARTUPINFO si;
- memset(&si, 0, sizeof(si));
- si.cb = sizeof(si);
- int wait = 0;
-
- DWORD dwExitCode = (DWORD) -1;
- char cmdline[32768];
- //executable;
- //outgoing_cmd_line;
- //exe_directory;
- strcpy(cmdline, "\"");
- strcat(cmdline, executable);
- strcat(cmdline, "\" ");
- strcat(cmdline, outgoing_cmd_line);
-
- if (CreateProcess(NULL, cmdline, NULL, NULL,
- //TRUE, priority, NULL, NULL,
- TRUE, 0, NULL, exe_directory,
- &si, &pi)) {
- if (wait) {
- WaitForSingleObject(pi.hProcess, INFINITE);
- GetExitCodeProcess(pi.hProcess, &dwExitCode);
- //debug("Exit code:\t%d\n", dwExitCode);
- //closeHandles();
- char big_trouble[128];
- sprintf(big_trouble, "Sorry, could not launch. (Error %d)",
- (int) dwExitCode);
- MessageBox(NULL, big_trouble, "Apologies", MB_OK);
- } else {
- dwExitCode = 0;
- }
- }
- return dwExitCode;
- */
-}
-
-
-void removeLineEndings(char *what) {
- int index = strlen(what) - 1;
- while (index >= 0) {
- if ((what[index] == 10) || (what[index] == 13)) {
- what[index] = 0;
- --index;
- } else {
- return;
- }
- }
-}
-
-
-// take a PATH environment variable, split on semicolons,
-// remove extraneous quotes, perhaps even make 8.3 syntax if necessary
-char *scrubPath(char *incoming) {
- char *cleaned = mallocChars(strlen(incoming) * 2);
-
- int found_so_far = 0;
- char *p = (char*) strtok(incoming, ";");
- while (p != NULL) {
- char entry[1024];
- /*
- if (*p == '\"') {
- // if this segment of the path contains quotes, remove them
- int fixed_length = strlen(p) - 2;
- strncpy(entry, &p[1], fixed_length);
- entry[fixed_length] = 0;
- //MessageBox(NULL, entry, "clipped", MB_OK);
-
- // if it doesn't actually end with a quote, then the person
- // is screwed anyway.. they can deal with that themselves
- } else {
- strcpy(entry, p);
- }
- */
- strcpy(entry, p);
- removeQuotes(entry);
- // a trailing slash will cause FindFirstFile to fail.. grr [0109]
- removeTrailingSlash(entry);
- //MessageBox(NULL, entry, "entry", MB_OK);
-
- // if this path doesn't exist, don't add it
- WIN32_FIND_DATA find_file_data;
- HANDLE hfind = FindFirstFile(entry, &find_file_data);
- if (hfind != INVALID_HANDLE_VALUE) {
- if (found_so_far) strcat(cleaned, ";");
- strcat(cleaned, entry);
- //MessageBox(NULL, cleaned, "cleaned so far", MB_OK);
- FindClose(hfind);
- found_so_far = 1;
- //} else {
- //MessageBox(NULL, entry, "removing", MB_OK);
- }
- // grab the next entry
- p = (char*) strtok(NULL, ";");
- }
- //MessageBox(NULL, cleaned, "scrubPath", MB_OK);
- return cleaned;
-}
-
-
-// eventually make this handle unicode
-char *mallocChars(int count) {
- // add one for the terminator
- char *outgoing = (char*) malloc(count * sizeof(char) + 1);
- outgoing[0] = 0; // for safety
- return outgoing;
-}
-
-
-void removeQuotes(char *quoted) {
- int len = strlen(quoted);
- // remove quote at the front
- if (quoted[0] == '\"') {
- for (int i = 0; i < len - 1; i++) {
- quoted[i] = quoted[i+1];
- }
- len--;
- quoted[len] = 0;
- }
- // remove quote at the end
- if (len > 1) {
- if (quoted[len - 1] == '\"') {
- len--;
- quoted[len] = 0;
- }
- }
-}
-
-
-void removeTrailingSlash(char *slashed) {
- int len = strlen(slashed);
- if (len > 1) {
- if (slashed[len - 1] == '\\') {
- len--;
- slashed[len] = 0;
- }
- }
-}
diff --git a/java/application/template.exe b/java/application/template.exe
deleted file mode 100755
index 03d8d5753..000000000
Binary files a/java/application/template.exe and /dev/null differ
diff --git a/java/application/template.plist b/java/application/template.plist
deleted file mode 100755
index a9e22b9c5..000000000
--- a/java/application/template.plist
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
- CFBundleName
- @@sketch@@
- CFBundleVersion
- 1.0
- CFBundleAllowMixedLocalizations
- true
- CFBundleExecutable
- JavaApplicationStub
- CFBundleDevelopmentRegion
- English
- CFBundlePackageType
- APPL
- CFBundleSignature
- ????
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleIconFile
- sketch.icns
- CFBundleIdentifier
- @@sketch@@
-
-
- LSUIPresentationMode
- @@lsuipresentationmode@@
-
- LSArchitecturePriority
-
- @@lsarchitecturepriority@@
-
-
- Java
-
- VMOptions
- @@vmoptions@@
-
- MainClass
- @@sketch@@
-
-
- JVMVersion
- 1.6*
-
- ClassPath
- @@classpath@@
-
-
- Properties
-
- apple.laf.useScreenMenuBar
- true
- apple.awt.showGrowBox
- false
- com.apple.smallTabs
- true
- apple.awt.Antialiasing
- false
- apple.awt.TextAntialiasing
- true
- com.apple.hwaccel
- true
-
- apple.awt.use-file-dialog-packages
- true
-
-
-
-