diff --git a/build/windows/avr_tools.zip b/build/windows/avr_tools.zip new file mode 100644 index 000000000..03130e3fd Binary files /dev/null and b/build/windows/avr_tools.zip differ diff --git a/build/windows/dist.sh b/build/windows/dist.sh index 12b6a4d0c..1be4d2780 100755 --- a/build/windows/dist.sh +++ b/build/windows/dist.sh @@ -5,10 +5,10 @@ REVISION=`head -1 ../../todo.txt | awk '{print $1}'` if [ $1 ] then RELEASE=$1 - echo Creating Processing release $RELEASE... + echo Creating Arduino release $RELEASE... else RELEASE=$REVISION - echo Creating Processing distribution for revision $REVISION... + echo Creating Arduino distribution for revision $REVISION... fi # check to see if the version number in the app is correct @@ -23,79 +23,80 @@ fi ./make.sh # remove any old boogers -rm -rf processing -rm -rf processing-* +rm -rf arduino +rm -rf arduino-* + +mkdir arduino +cp -r ../shared/lib arduino/ +cp -r ../shared/tools arduino/ + +cp dist/*.dll arduino/ +cp -r dist/drivers arduino/ + +cp -r ../../hardware arduino/ -mkdir processing -cp -r ../shared/lib processing/ -cp -r ../shared/libraries processing/ -cp -r ../shared/tools processing/ if [ $1 ] then # write the release version number into the output directory - echo $1 > processing/lib/version.txt + echo $1 > arduino/lib/version.txt fi -cp ../../app/lib/antlr.jar processing/lib/ -cp ../../app/lib/ecj.jar processing/lib/ -cp ../../app/lib/jna.jar processing/lib/ +cp ../../app/lib/antlr.jar arduino/lib/ +cp ../../app/lib/ecj.jar arduino/lib/ +cp ../../app/lib/jna.jar arduino/lib/ +cp ../../app/lib/oro.jar arduino/lib/ +cp ../../app/lib/RXTXcomm.jar arduino/lib/ -cp ../shared/revisions.txt processing/ +cp ../../readme.txt arduino/ -echo Extracting examples... -unzip -q -d processing/ ../shared/examples.zip +echo Copying examples... +cp -r ../shared/examples arduino/ echo Extracting reference... -unzip -q -d processing/ ../shared/reference.zip +unzip -q -d arduino/ ../shared/reference.zip -# add the libraries folder with source -cp -r ../../net processing/libraries/ -cp -r ../../opengl processing/libraries/ -cp -r ../../serial processing/libraries/ -cp -r ../../video processing/libraries/ -cp -r ../../pdf processing/libraries/ -cp -r ../../dxf processing/libraries/ +unzip -q -d arduino/hardware avr_tools.zip # add java (jre) files -unzip -q -d processing jre.zip +unzip -q -d arduino jre.zip # get platform-specific goodies from the dist dir -cp launcher/processing.exe processing/ +cp launcher/arduino.exe arduino/ # grab pde.jar and export from the working dir -cp work/lib/pde.jar processing/lib/ -cp work/lib/core.jar processing/lib/ +cp work/lib/pde.jar arduino/lib/ +cp work/lib/core.jar arduino/lib/ # convert revisions.txt to windows LFs # the 2> is because the app is a little chatty -unix2dos processing/revisions.txt 2> /dev/null -unix2dos processing/lib/preferences.txt 2> /dev/null -unix2dos processing/lib/keywords.txt 2> /dev/null +unix2dos arduino/readme.txt 2> /dev/null +unix2dos arduino/lib/preferences.txt 2> /dev/null +unix2dos arduino/lib/keywords.txt 2> /dev/null # remove boogers -find processing -name "*.bak" -exec rm -f {} ';' -find processing -name "*~" -exec rm -f {} ';' -find processing -name ".DS_Store" -exec rm -f {} ';' -find processing -name "._*" -exec rm -f {} ';' -find processing -name "Thumbs.db" -exec rm -f {} ';' +find arduino -name "*.bak" -exec rm -f {} ';' +find arduino -name "*~" -exec rm -f {} ';' +find arduino -name ".DS_Store" -exec rm -f {} ';' +find arduino -name "._*" -exec rm -f {} ';' +find arduino -name "Thumbs.db" -exec rm -f {} ';' # chmod +x the crew -find processing -name "*.html" -exec chmod +x {} ';' -find processing -name "*.dll" -exec chmod +x {} ';' -find processing -name "*.exe" -exec chmod +x {} ';' -find processing -name "*.html" -exec chmod +x {} ';' +find arduino -name "*.html" -exec chmod +x {} ';' +find arduino -name "*.dll" -exec chmod +x {} ';' +find arduino -name "*.exe" -exec chmod +x {} ';' +find arduino -name "*.html" -exec chmod +x {} ';' # clean out the cvs entries -find processing -name "CVS" -exec rm -rf {} ';' 2> /dev/null -find processing -name ".cvsignore" -exec rm -rf {} ';' -find processing -name ".svn" -exec rm -rf {} ';' 2> /dev/null +find arduino -name "CVS" -exec rm -rf {} ';' 2> /dev/null +find arduino -name ".cvsignore" -exec rm -rf {} ';' +find arduino -name ".svn" -exec rm -rf {} ';' 2> /dev/null # zip it all up for release echo Packaging standard release... echo -P5=processing-$RELEASE -mv processing $P5 +P5=arduino-$RELEASE +mv arduino $P5 zip -rq $P5.zip $P5 # nah, keep the new directory around #rm -rf $P5 diff --git a/build/windows/dist/cygiconv-2.dll b/build/windows/dist/cygiconv-2.dll new file mode 100755 index 000000000..64fd39e3e Binary files /dev/null and b/build/windows/dist/cygiconv-2.dll differ diff --git a/build/windows/dist/cygwin1.dll b/build/windows/dist/cygwin1.dll new file mode 100755 index 000000000..83e58ea0c Binary files /dev/null and b/build/windows/dist/cygwin1.dll differ diff --git a/build/windows/dist/drivers/FTDI USB Drivers/Application Notes.url b/build/windows/dist/drivers/FTDI USB Drivers/Application Notes.url new file mode 100755 index 000000000..6ad7c91df --- /dev/null +++ b/build/windows/dist/drivers/FTDI USB Drivers/Application Notes.url @@ -0,0 +1,7 @@ +[DEFAULT] +BASEURL=http://www.ftdichip.com/Documents/AppNotes.htm +[InternetShortcut] +URL=http://www.ftdichip.com/Documents/AppNotes.htm +Modified=C055946F4AF7C5011F +IconFile=C:\WINNT\system32\url.dll +IconIndex=0 diff --git a/build/windows/dist/drivers/FTDI USB Drivers/FTBUSUI.dll b/build/windows/dist/drivers/FTDI USB Drivers/FTBUSUI.dll new file mode 100755 index 000000000..2bc666345 Binary files /dev/null and b/build/windows/dist/drivers/FTDI USB Drivers/FTBUSUI.dll differ diff --git a/build/windows/dist/drivers/FTDI USB Drivers/FTD2XX.H b/build/windows/dist/drivers/FTDI USB Drivers/FTD2XX.H new file mode 100755 index 000000000..2507326c5 --- /dev/null +++ b/build/windows/dist/drivers/FTDI USB Drivers/FTD2XX.H @@ -0,0 +1,875 @@ +/*++ + +Copyright (c) 2001-2005 Future Technology Devices International Ltd. + +Module Name: + + ftd2xx.h + +Abstract: + + Native USB device driver for FTDI FT8U232/245 + FTD2XX library definitions + +Environment: + + kernel & user mode + +Revision History: + + 13/03/01 awm Created. + 13/01/03 awm Added device information support. + 19/03/03 awm Added FT_W32_CancelIo. + 12/06/03 awm Added FT_StopInTask and FT_RestartInTask. + 18/09/03 awm Added FT_SetResetPipeRetryCount. + 10/10/03 awm Added FT_ResetPort. + 23/01/04 awm Added support for open-by-location. + 16/03/04 awm Added support for FT2232C. + 23/09/04 awm Added support for FT232R. + 20/10/04 awm Added FT_CyclePort. + 18/01/05 awm Added FT_DEVICE_LIST_INFO_NODE type. + 11/02/05 awm Added LocId to FT_DEVICE_LIST_INFO_NODE. + 25/08/05 awm Added FT_SetDeadmanTimeout. + 02/12/05 awm Removed obsolete references. + 05/12/05 awm Added FT_GetVersion, FT_GetVersionEx. + + +--*/ + + +#ifndef FTD2XX_H +#define FTD2XX_H + +// The following ifdef block is the standard way of creating macros +// which make exporting from a DLL simpler. All files within this DLL +// are compiled with the FTD2XX_EXPORTS symbol defined on the command line. +// This symbol should not be defined on any project that uses this DLL. +// This way any other project whose source files include this file see +// FTD2XX_API functions as being imported from a DLL, whereas this DLL +// sees symbols defined with this macro as being exported. + +#ifdef FTD2XX_EXPORTS +#define FTD2XX_API __declspec(dllexport) +#else +#define FTD2XX_API __declspec(dllimport) +#endif + + +typedef PVOID FT_HANDLE; +typedef ULONG FT_STATUS; + +// +// Device status +// +enum { + FT_OK, + FT_INVALID_HANDLE, + FT_DEVICE_NOT_FOUND, + FT_DEVICE_NOT_OPENED, + FT_IO_ERROR, + FT_INSUFFICIENT_RESOURCES, + FT_INVALID_PARAMETER, + FT_INVALID_BAUD_RATE, + + FT_DEVICE_NOT_OPENED_FOR_ERASE, + FT_DEVICE_NOT_OPENED_FOR_WRITE, + FT_FAILED_TO_WRITE_DEVICE, + FT_EEPROM_READ_FAILED, + FT_EEPROM_WRITE_FAILED, + FT_EEPROM_ERASE_FAILED, + FT_EEPROM_NOT_PRESENT, + FT_EEPROM_NOT_PROGRAMMED, + FT_INVALID_ARGS, + FT_NOT_SUPPORTED, + FT_OTHER_ERROR +}; + + +#define FT_SUCCESS(status) ((status) == FT_OK) + +// +// FT_OpenEx Flags +// + +#define FT_OPEN_BY_SERIAL_NUMBER 1 +#define FT_OPEN_BY_DESCRIPTION 2 +#define FT_OPEN_BY_LOCATION 4 + +// +// FT_ListDevices Flags (used in conjunction with FT_OpenEx Flags +// + +#define FT_LIST_NUMBER_ONLY 0x80000000 +#define FT_LIST_BY_INDEX 0x40000000 +#define FT_LIST_ALL 0x20000000 + +#define FT_LIST_MASK (FT_LIST_NUMBER_ONLY|FT_LIST_BY_INDEX|FT_LIST_ALL) + +// +// Baud Rates +// + +#define FT_BAUD_300 300 +#define FT_BAUD_600 600 +#define FT_BAUD_1200 1200 +#define FT_BAUD_2400 2400 +#define FT_BAUD_4800 4800 +#define FT_BAUD_9600 9600 +#define FT_BAUD_14400 14400 +#define FT_BAUD_19200 19200 +#define FT_BAUD_38400 38400 +#define FT_BAUD_57600 57600 +#define FT_BAUD_115200 115200 +#define FT_BAUD_230400 230400 +#define FT_BAUD_460800 460800 +#define FT_BAUD_921600 921600 + +// +// Word Lengths +// + +#define FT_BITS_8 (UCHAR) 8 +#define FT_BITS_7 (UCHAR) 7 +#define FT_BITS_6 (UCHAR) 6 +#define FT_BITS_5 (UCHAR) 5 + +// +// Stop Bits +// + +#define FT_STOP_BITS_1 (UCHAR) 0 +#define FT_STOP_BITS_1_5 (UCHAR) 1 +#define FT_STOP_BITS_2 (UCHAR) 2 + +// +// Parity +// + +#define FT_PARITY_NONE (UCHAR) 0 +#define FT_PARITY_ODD (UCHAR) 1 +#define FT_PARITY_EVEN (UCHAR) 2 +#define FT_PARITY_MARK (UCHAR) 3 +#define FT_PARITY_SPACE (UCHAR) 4 + +// +// Flow Control +// + +#define FT_FLOW_NONE 0x0000 +#define FT_FLOW_RTS_CTS 0x0100 +#define FT_FLOW_DTR_DSR 0x0200 +#define FT_FLOW_XON_XOFF 0x0400 + +// +// Purge rx and tx buffers +// +#define FT_PURGE_RX 1 +#define FT_PURGE_TX 2 + +// +// Events +// + +typedef void (*PFT_EVENT_HANDLER)(DWORD,DWORD); + +#define FT_EVENT_RXCHAR 1 +#define FT_EVENT_MODEM_STATUS 2 + +// +// Timeouts +// + +#define FT_DEFAULT_RX_TIMEOUT 300 +#define FT_DEFAULT_TX_TIMEOUT 300 + +// +// Device types +// + +typedef ULONG FT_DEVICE; + +enum { + FT_DEVICE_BM, + FT_DEVICE_AM, + FT_DEVICE_100AX, + FT_DEVICE_UNKNOWN, + FT_DEVICE_2232C, + FT_DEVICE_232R +}; + + +#ifdef __cplusplus +extern "C" { +#endif + + +FTD2XX_API +FT_STATUS WINAPI FT_Open( + int deviceNumber, + FT_HANDLE *pHandle + ); + +FTD2XX_API +FT_STATUS WINAPI FT_OpenEx( + PVOID pArg1, + DWORD Flags, + FT_HANDLE *pHandle + ); + +FTD2XX_API +FT_STATUS WINAPI FT_ListDevices( + PVOID pArg1, + PVOID pArg2, + DWORD Flags + ); + +FTD2XX_API +FT_STATUS WINAPI FT_Close( + FT_HANDLE ftHandle + ); + +FTD2XX_API +FT_STATUS WINAPI FT_Read( + FT_HANDLE ftHandle, + LPVOID lpBuffer, + DWORD nBufferSize, + LPDWORD lpBytesReturned + ); + +FTD2XX_API +FT_STATUS WINAPI FT_Write( + FT_HANDLE ftHandle, + LPVOID lpBuffer, + DWORD nBufferSize, + LPDWORD lpBytesWritten + ); + +FTD2XX_API +FT_STATUS WINAPI FT_IoCtl( + FT_HANDLE ftHandle, + DWORD dwIoControlCode, + LPVOID lpInBuf, + DWORD nInBufSize, + LPVOID lpOutBuf, + DWORD nOutBufSize, + LPDWORD lpBytesReturned, + LPOVERLAPPED lpOverlapped + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetBaudRate( + FT_HANDLE ftHandle, + ULONG BaudRate + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetDivisor( + FT_HANDLE ftHandle, + USHORT Divisor + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetDataCharacteristics( + FT_HANDLE ftHandle, + UCHAR WordLength, + UCHAR StopBits, + UCHAR Parity + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetFlowControl( + FT_HANDLE ftHandle, + USHORT FlowControl, + UCHAR XonChar, + UCHAR XoffChar + ); + +FTD2XX_API +FT_STATUS WINAPI FT_ResetDevice( + FT_HANDLE ftHandle + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetDtr( + FT_HANDLE ftHandle + ); + +FTD2XX_API +FT_STATUS WINAPI FT_ClrDtr( + FT_HANDLE ftHandle + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetRts( + FT_HANDLE ftHandle + ); + +FTD2XX_API +FT_STATUS WINAPI FT_ClrRts( + FT_HANDLE ftHandle + ); + +FTD2XX_API +FT_STATUS WINAPI FT_GetModemStatus( + FT_HANDLE ftHandle, + ULONG *pModemStatus + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetChars( + FT_HANDLE ftHandle, + UCHAR EventChar, + UCHAR EventCharEnabled, + UCHAR ErrorChar, + UCHAR ErrorCharEnabled + ); + +FTD2XX_API +FT_STATUS WINAPI FT_Purge( + FT_HANDLE ftHandle, + ULONG Mask + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetTimeouts( + FT_HANDLE ftHandle, + ULONG ReadTimeout, + ULONG WriteTimeout + ); + +FTD2XX_API +FT_STATUS WINAPI FT_GetQueueStatus( + FT_HANDLE ftHandle, + DWORD *dwRxBytes + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetEventNotification( + FT_HANDLE ftHandle, + DWORD Mask, + PVOID Param + ); + +FTD2XX_API +FT_STATUS WINAPI FT_GetStatus( + FT_HANDLE ftHandle, + DWORD *dwRxBytes, + DWORD *dwTxBytes, + DWORD *dwEventDWord + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetBreakOn( + FT_HANDLE ftHandle + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetBreakOff( + FT_HANDLE ftHandle + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetWaitMask( + FT_HANDLE ftHandle, + DWORD Mask + ); + +FTD2XX_API +FT_STATUS WINAPI FT_WaitOnMask( + FT_HANDLE ftHandle, + DWORD *Mask + ); + +FTD2XX_API +FT_STATUS WINAPI FT_GetEventStatus( + FT_HANDLE ftHandle, + DWORD *dwEventDWord + ); + +FTD2XX_API +FT_STATUS WINAPI FT_ReadEE( + FT_HANDLE ftHandle, + DWORD dwWordOffset, + LPWORD lpwValue + ); + +FTD2XX_API +FT_STATUS WINAPI FT_WriteEE( + FT_HANDLE ftHandle, + DWORD dwWordOffset, + WORD wValue + ); + +FTD2XX_API +FT_STATUS WINAPI FT_EraseEE( + FT_HANDLE ftHandle + ); + +// +// structure to hold program data for FT_Program function +// +typedef struct ft_program_data { + + DWORD Signature1; // Header - must be 0x00000000 + DWORD Signature2; // Header - must be 0xffffffff + DWORD Version; // Header - FT_PROGRAM_DATA version + // 0 = original + // 1 = FT2232C extensions + // 2 = FT232R extensions + + WORD VendorId; // 0x0403 + WORD ProductId; // 0x6001 + char *Manufacturer; // "FTDI" + char *ManufacturerId; // "FT" + char *Description; // "USB HS Serial Converter" + char *SerialNumber; // "FT000001" if fixed, or NULL + WORD MaxPower; // 0 < MaxPower <= 500 + WORD PnP; // 0 = disabled, 1 = enabled + WORD SelfPowered; // 0 = bus powered, 1 = self powered + WORD RemoteWakeup; // 0 = not capable, 1 = capable + // + // Rev4 extensions + // + UCHAR Rev4; // non-zero if Rev4 chip, zero otherwise + UCHAR IsoIn; // non-zero if in endpoint is isochronous + UCHAR IsoOut; // non-zero if out endpoint is isochronous + UCHAR PullDownEnable; // non-zero if pull down enabled + UCHAR SerNumEnable; // non-zero if serial number to be used + UCHAR USBVersionEnable; // non-zero if chip uses USBVersion + WORD USBVersion; // BCD (0x0200 => USB2) + // + // FT2232C extensions + // + UCHAR Rev5; // non-zero if Rev5 chip, zero otherwise + UCHAR IsoInA; // non-zero if in endpoint is isochronous + UCHAR IsoInB; // non-zero if in endpoint is isochronous + UCHAR IsoOutA; // non-zero if out endpoint is isochronous + UCHAR IsoOutB; // non-zero if out endpoint is isochronous + UCHAR PullDownEnable5; // non-zero if pull down enabled + UCHAR SerNumEnable5; // non-zero if serial number to be used + UCHAR USBVersionEnable5; // non-zero if chip uses USBVersion + WORD USBVersion5; // BCD (0x0200 => USB2) + UCHAR AIsHighCurrent; // non-zero if interface is high current + UCHAR BIsHighCurrent; // non-zero if interface is high current + UCHAR IFAIsFifo; // non-zero if interface is 245 FIFO + UCHAR IFAIsFifoTar; // non-zero if interface is 245 FIFO CPU target + UCHAR IFAIsFastSer; // non-zero if interface is Fast serial + UCHAR AIsVCP; // non-zero if interface is to use VCP drivers + UCHAR IFBIsFifo; // non-zero if interface is 245 FIFO + UCHAR IFBIsFifoTar; // non-zero if interface is 245 FIFO CPU target + UCHAR IFBIsFastSer; // non-zero if interface is Fast serial + UCHAR BIsVCP; // non-zero if interface is to use VCP drivers + // + // FT232R extensions + // + UCHAR UseExtOsc; // Use External Oscillator + UCHAR HighDriveIOs; // High Drive I/Os + UCHAR EndpointSize; // Endpoint size + + UCHAR PullDownEnableR; // non-zero if pull down enabled + UCHAR SerNumEnableR; // non-zero if serial number to be used + + UCHAR InvertTXD; // non-zero if invert TXD + UCHAR InvertRXD; // non-zero if invert RXD + UCHAR InvertRTS; // non-zero if invert RTS + UCHAR InvertCTS; // non-zero if invert CTS + UCHAR InvertDTR; // non-zero if invert DTR + UCHAR InvertDSR; // non-zero if invert DSR + UCHAR InvertDCD; // non-zero if invert DCD + UCHAR InvertRI; // non-zero if invert RI + + UCHAR Cbus0; // Cbus Mux control + UCHAR Cbus1; // Cbus Mux control + UCHAR Cbus2; // Cbus Mux control + UCHAR Cbus3; // Cbus Mux control + UCHAR Cbus4; // Cbus Mux control + + UCHAR RIsVCP; // non-zero if using VCP drivers + +} FT_PROGRAM_DATA, *PFT_PROGRAM_DATA; + +FTD2XX_API +FT_STATUS WINAPI FT_EE_Program( + FT_HANDLE ftHandle, + PFT_PROGRAM_DATA pData + ); + +FTD2XX_API +FT_STATUS WINAPI FT_EE_ProgramEx( + FT_HANDLE ftHandle, + PFT_PROGRAM_DATA pData, + char *Manufacturer, + char *ManufacturerId, + char *Description, + char *SerialNumber + ); + +FTD2XX_API +FT_STATUS WINAPI FT_EE_Read( + FT_HANDLE ftHandle, + PFT_PROGRAM_DATA pData + ); + +FTD2XX_API +FT_STATUS WINAPI FT_EE_ReadEx( + FT_HANDLE ftHandle, + PFT_PROGRAM_DATA pData, + char *Manufacturer, + char *ManufacturerId, + char *Description, + char *SerialNumber + ); + +FTD2XX_API +FT_STATUS WINAPI FT_EE_UASize( + FT_HANDLE ftHandle, + LPDWORD lpdwSize + ); + +FTD2XX_API +FT_STATUS WINAPI FT_EE_UAWrite( + FT_HANDLE ftHandle, + PUCHAR pucData, + DWORD dwDataLen + ); + +FTD2XX_API +FT_STATUS WINAPI FT_EE_UARead( + FT_HANDLE ftHandle, + PUCHAR pucData, + DWORD dwDataLen, + LPDWORD lpdwBytesRead + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetLatencyTimer( + FT_HANDLE ftHandle, + UCHAR ucLatency + ); + +FTD2XX_API +FT_STATUS WINAPI FT_GetLatencyTimer( + FT_HANDLE ftHandle, + PUCHAR pucLatency + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetBitMode( + FT_HANDLE ftHandle, + UCHAR ucMask, + UCHAR ucEnable + ); + +FTD2XX_API +FT_STATUS WINAPI FT_GetBitMode( + FT_HANDLE ftHandle, + PUCHAR pucMode + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetUSBParameters( + FT_HANDLE ftHandle, + ULONG ulInTransferSize, + ULONG ulOutTransferSize + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetDeadmanTimeout( + FT_HANDLE ftHandle, + ULONG ulDeadmanTimeout + ); + +FTD2XX_API +FT_STATUS WINAPI FT_GetDeviceInfo( + FT_HANDLE ftHandle, + FT_DEVICE *lpftDevice, + LPDWORD lpdwID, + PCHAR SerialNumber, + PCHAR Description, + LPVOID Dummy + ); + +FTD2XX_API +FT_STATUS WINAPI FT_StopInTask( + FT_HANDLE ftHandle + ); + +FTD2XX_API +FT_STATUS WINAPI FT_RestartInTask( + FT_HANDLE ftHandle + ); + +FTD2XX_API +FT_STATUS WINAPI FT_SetResetPipeRetryCount( + FT_HANDLE ftHandle, + DWORD dwCount + ); + +FTD2XX_API +FT_STATUS WINAPI FT_ResetPort( + FT_HANDLE ftHandle + ); + +FTD2XX_API +FT_STATUS WINAPI FT_CyclePort( + FT_HANDLE ftHandle + ); + + +// +// Win32-type functions +// + +FTD2XX_API +FT_HANDLE WINAPI FT_W32_CreateFile( + LPCSTR lpszName, + DWORD dwAccess, + DWORD dwShareMode, + LPSECURITY_ATTRIBUTES lpSecurityAttributes, + DWORD dwCreate, + DWORD dwAttrsAndFlags, + HANDLE hTemplate + ); + +FTD2XX_API +BOOL WINAPI FT_W32_CloseHandle( + FT_HANDLE ftHandle + ); + +FTD2XX_API +BOOL WINAPI FT_W32_ReadFile( + FT_HANDLE ftHandle, + LPVOID lpBuffer, + DWORD nBufferSize, + LPDWORD lpBytesReturned, + LPOVERLAPPED lpOverlapped + ); + +FTD2XX_API +BOOL WINAPI FT_W32_WriteFile( + FT_HANDLE ftHandle, + LPVOID lpBuffer, + DWORD nBufferSize, + LPDWORD lpBytesWritten, + LPOVERLAPPED lpOverlapped + ); + +FTD2XX_API +DWORD WINAPI FT_W32_GetLastError( + FT_HANDLE ftHandle + ); + +FTD2XX_API +BOOL WINAPI FT_W32_GetOverlappedResult( + FT_HANDLE ftHandle, + LPOVERLAPPED lpOverlapped, + LPDWORD lpdwBytesTransferred, + BOOL bWait + ); + +FTD2XX_API +BOOL WINAPI FT_W32_CancelIo( + FT_HANDLE ftHandle + ); + + +// +// Win32 COMM API type functions +// +typedef struct _FTCOMSTAT { + DWORD fCtsHold : 1; + DWORD fDsrHold : 1; + DWORD fRlsdHold : 1; + DWORD fXoffHold : 1; + DWORD fXoffSent : 1; + DWORD fEof : 1; + DWORD fTxim : 1; + DWORD fReserved : 25; + DWORD cbInQue; + DWORD cbOutQue; +} FTCOMSTAT, *LPFTCOMSTAT; + +typedef struct _FTDCB { + DWORD DCBlength; /* sizeof(FTDCB) */ + DWORD BaudRate; /* Baudrate at which running */ + DWORD fBinary: 1; /* Binary Mode (skip EOF check) */ + DWORD fParity: 1; /* Enable parity checking */ + DWORD fOutxCtsFlow:1; /* CTS handshaking on output */ + DWORD fOutxDsrFlow:1; /* DSR handshaking on output */ + DWORD fDtrControl:2; /* DTR Flow control */ + DWORD fDsrSensitivity:1; /* DSR Sensitivity */ + DWORD fTXContinueOnXoff: 1; /* Continue TX when Xoff sent */ + DWORD fOutX: 1; /* Enable output X-ON/X-OFF */ + DWORD fInX: 1; /* Enable input X-ON/X-OFF */ + DWORD fErrorChar: 1; /* Enable Err Replacement */ + DWORD fNull: 1; /* Enable Null stripping */ + DWORD fRtsControl:2; /* Rts Flow control */ + DWORD fAbortOnError:1; /* Abort all reads and writes on Error */ + DWORD fDummy2:17; /* Reserved */ + WORD wReserved; /* Not currently used */ + WORD XonLim; /* Transmit X-ON threshold */ + WORD XoffLim; /* Transmit X-OFF threshold */ + BYTE ByteSize; /* Number of bits/byte, 4-8 */ + BYTE Parity; /* 0-4=None,Odd,Even,Mark,Space */ + BYTE StopBits; /* 0,1,2 = 1, 1.5, 2 */ + char XonChar; /* Tx and Rx X-ON character */ + char XoffChar; /* Tx and Rx X-OFF character */ + char ErrorChar; /* Error replacement char */ + char EofChar; /* End of Input character */ + char EvtChar; /* Received Event character */ + WORD wReserved1; /* Fill for now. */ +} FTDCB, *LPFTDCB; + +typedef struct _FTTIMEOUTS { + DWORD ReadIntervalTimeout; /* Maximum time between read chars. */ + DWORD ReadTotalTimeoutMultiplier; /* Multiplier of characters. */ + DWORD ReadTotalTimeoutConstant; /* Constant in milliseconds. */ + DWORD WriteTotalTimeoutMultiplier; /* Multiplier of characters. */ + DWORD WriteTotalTimeoutConstant; /* Constant in milliseconds. */ +} FTTIMEOUTS,*LPFTTIMEOUTS; + + +FTD2XX_API +BOOL WINAPI FT_W32_ClearCommBreak( + FT_HANDLE ftHandle + ); + +FTD2XX_API +BOOL WINAPI FT_W32_ClearCommError( + FT_HANDLE ftHandle, + LPDWORD lpdwErrors, + LPFTCOMSTAT lpftComstat + ); + +FTD2XX_API +BOOL WINAPI FT_W32_EscapeCommFunction( + FT_HANDLE ftHandle, + DWORD dwFunc + ); + +FTD2XX_API +BOOL WINAPI FT_W32_GetCommModemStatus( + FT_HANDLE ftHandle, + LPDWORD lpdwModemStatus + ); + +FTD2XX_API +BOOL WINAPI FT_W32_GetCommState( + FT_HANDLE ftHandle, + LPFTDCB lpftDcb + ); + +FTD2XX_API +BOOL WINAPI FT_W32_GetCommTimeouts( + FT_HANDLE ftHandle, + FTTIMEOUTS *pTimeouts + ); + +FTD2XX_API +BOOL WINAPI FT_W32_PurgeComm( + FT_HANDLE ftHandle, + DWORD dwMask + ); + +FTD2XX_API +BOOL WINAPI FT_W32_SetCommBreak( + FT_HANDLE ftHandle + ); + +FTD2XX_API +BOOL WINAPI FT_W32_SetCommMask( + FT_HANDLE ftHandle, + ULONG ulEventMask + ); + +FTD2XX_API +BOOL WINAPI FT_W32_SetCommState( + FT_HANDLE ftHandle, + LPFTDCB lpftDcb + ); + +FTD2XX_API +BOOL WINAPI FT_W32_SetCommTimeouts( + FT_HANDLE ftHandle, + FTTIMEOUTS *pTimeouts + ); + +FTD2XX_API +BOOL WINAPI FT_W32_SetupComm( + FT_HANDLE ftHandle, + DWORD dwReadBufferSize, + DWORD dwWriteBufferSize + ); + +FTD2XX_API +BOOL WINAPI FT_W32_WaitCommEvent( + FT_HANDLE ftHandle, + PULONG pulEvent, + LPOVERLAPPED lpOverlapped + ); + + +// +// Device information +// + +typedef struct _ft_device_list_info_node { + ULONG Flags; + ULONG Type; + ULONG ID; + DWORD LocId; + char SerialNumber[16]; + char Description[64]; + FT_HANDLE ftHandle; +} FT_DEVICE_LIST_INFO_NODE; + + +FTD2XX_API +FT_STATUS WINAPI FT_CreateDeviceInfoList( + LPDWORD lpdwNumDevs + ); + +FTD2XX_API +FT_STATUS WINAPI FT_GetDeviceInfoList( + FT_DEVICE_LIST_INFO_NODE *pDest, + LPDWORD lpdwNumDevs + ); + +FTD2XX_API +FT_STATUS WINAPI FT_GetDeviceInfoDetail( + DWORD dwIndex, + LPDWORD lpdwFlags, + LPDWORD lpdwType, + LPDWORD lpdwID, + LPDWORD lpdwLocId, + LPVOID lpSerialNumber, + LPVOID lpDescription, + FT_HANDLE *pftHandle + ); + + +// +// Version information +// + +FTD2XX_API +FT_STATUS WINAPI FT_GetDriverVersion( + FT_HANDLE ftHandle, + LPDWORD lpdwVersion + ); + +FTD2XX_API +FT_STATUS WINAPI FT_GetLibraryVersion( + LPDWORD lpdwVersion + ); + + + + +#ifdef __cplusplus +} +#endif + + +#endif /* FTD2XX_H */ + diff --git a/build/windows/dist/drivers/FTDI USB Drivers/FTD2XX.dll b/build/windows/dist/drivers/FTDI USB Drivers/FTD2XX.dll new file mode 100755 index 000000000..b2b9f0fe2 Binary files /dev/null and b/build/windows/dist/drivers/FTDI USB Drivers/FTD2XX.dll differ diff --git a/build/windows/dist/drivers/FTDI USB Drivers/FTD2XX.lib b/build/windows/dist/drivers/FTDI USB Drivers/FTD2XX.lib new file mode 100755 index 000000000..07451b4f1 Binary files /dev/null and b/build/windows/dist/drivers/FTDI USB Drivers/FTD2XX.lib differ diff --git a/build/windows/dist/drivers/FTDI USB Drivers/FTDIBUS.INF b/build/windows/dist/drivers/FTDI USB Drivers/FTDIBUS.INF new file mode 100755 index 000000000..8b5b308d1 --- /dev/null +++ b/build/windows/dist/drivers/FTDI USB Drivers/FTDIBUS.INF @@ -0,0 +1,88 @@ +; FTDIBUS.INF +; Copyright (c) 2000-2006 FTDI Ltd. +; +; USB serial converter driver installation for Windows 2000 and XP. +; + +[Version] +Signature="$Windows NT$" +DriverPackageType=PlugAndPlay +DriverPackageDisplayName=%DESC% +Class=USB +ClassGUID={36fc9e60-c465-11cf-8056-444553540000} +Provider=%FTDI% +CatalogFile=ftdibus.cat +DriverVer=05/19/2006,2.00.00 + +[SourceDisksNames] +1=%DriversDisk%,,, + +[SourceDisksFiles] +ftdibus.sys = 1 +ftdiunin.exe = 1 +ftdiun2k.ini = 1 +ftbusui.dll = 1 +ftd2xx.dll = 1 + +[DestinationDirs] +FtdiBus.NT.Copy = 10,system32\drivers +FtdiBus.NT.Copy2 = 10,system32 + +[Manufacturer] +%Ftdi%=FtdiHw + +[FtdiHw] +%USB\VID_0403&PID_6001.DeviceDesc%=FtdiBus,USB\VID_0403&PID_6001 +%USB\VID_0403&PID_6010&MI_00.DeviceDesc%=FtdiBus,USB\VID_0403&PID_6010&MI_00 +%USB\VID_0403&PID_6010&MI_01.DeviceDesc%=FtdiBus,USB\VID_0403&PID_6010&MI_01 + +[ControlFlags] +ExcludeFromSelect=* + +[FtdiBus.NT] +CopyFiles=FtdiBus.NT.Copy,FtdiBus.NT.Copy2 +AddReg=FtdiBus.NT.AddReg,FtdiBusUnInst.NT.Reg + +[FtdiBus.NT.Services] +AddService = FTDIBUS, 0x00000002, FtdiBus.NT.AddService + +[FtdiBus.NT.AddService] +DisplayName = %SvcDesc% +ServiceType = 1 ; SERVICE_KERNEL_DRIVER +StartType = 3 ; SERVICE_DEMAND_START +ErrorControl = 1 ; SERVICE_ERROR_NORMAL +ServiceBinary = %10%\system32\drivers\ftdibus.sys +LoadOrderGroup = Base + +[FtdiBus.NT.AddReg] +HKR,,DevLoader,,*ntkern +HKR,,NTMPDriver,,ftdibus.sys +HKR,,EnumPropPages32,,"ftbusui.dll,FTBUSUIPropPageProvider" + +[FtdiBus.NT.Copy] +ftdibus.sys + +[FtdiBus.NT.Copy2] +ftdiunin.exe +ftdiun2k.ini +ftbusui.dll +ftd2xx.dll + +[FtdiBusUnInst.NT.Reg] +HKLM,%WINUN%,"FTDICOMM" +HKLM,%WINUN%\FTDICOMM , "UninstallString",,"%11%\ftdiunin.exe %11%\ftdiun2k.ini" +HKLM,%WINUN%\FTDICOMM , "DisplayName",,"FTDI USB Serial Converter Drivers" +HKLM,%WINUN%\FTDICOMM , "URLInfoAbout",,"http://www.ftdichip.com" +HKLM,%WINUN%\FTDICOMM , "Publisher",,"FTDI Ltd" +HKLM,%WINUN%\FTDICOMM , "DisplayVersion",,"2.00.00" + +[Strings] +Ftdi="FTDI" +DESC="CDM Driver Package" +DriversDisk="FTDI USB Drivers Disk" +USB\VID_0403&PID_6001.DeviceDesc="USB Serial Converter" +USB\VID_0403&PID_6010&MI_00.DeviceDesc="USB Serial Converter A" +USB\VID_0403&PID_6010&MI_01.DeviceDesc="USB Serial Converter B" +WINUN="Software\Microsoft\Windows\CurrentVersion\Uninstall" +SvcDesc="USB Serial Converter Driver" +ClassName="USB" diff --git a/build/windows/dist/drivers/FTDI USB Drivers/FTDIBUS.sys b/build/windows/dist/drivers/FTDI USB Drivers/FTDIBUS.sys new file mode 100755 index 000000000..1f091c86e Binary files /dev/null and b/build/windows/dist/drivers/FTDI USB Drivers/FTDIBUS.sys differ diff --git a/build/windows/dist/drivers/FTDI USB Drivers/FTDIPORT.INF b/build/windows/dist/drivers/FTDI USB Drivers/FTDIPORT.INF new file mode 100755 index 000000000..fc5259004 --- /dev/null +++ b/build/windows/dist/drivers/FTDI USB Drivers/FTDIPORT.INF @@ -0,0 +1,127 @@ +; FTDIPORT.INF +; Copyright (c) 2000-2006 FTDI Ltd. +; +; USB serial port driver installation for Windows 2000 and XP. +; + +[Version] +Signature="$Windows NT$" +DriverPackageType=PlugAndPlay +DriverPackageDisplayName=%DESC% +Class=Ports +ClassGUID={4d36e978-e325-11ce-bfc1-08002be10318} +Provider=%FTDI% +CatalogFile=ftdiport.cat +DriverVer=05/19/2006,2.00.00 + +[SourceDisksNames] +1=%DriversDisk%,,, + +[SourceDisksFiles] +ftser2k.sys=1 +ftserui2.dll=1 +FTLang.Dll = 1 +ftcserco.dll = 1 + +[DestinationDirs] +FtdiPort.NT.Copy=10,system32\drivers +FtdiPort.NT.CopyUI=10,system32 +FtdiPort2232.NT.CopyCoInst=10,system32 + +[ControlFlags] +ExcludeFromSelect=* + +[Manufacturer] +%FTDI%=FtdiHw + +[FtdiHw] +%VID_0403&PID_6001.DeviceDesc%=FtdiPort232,FTDIBUS\COMPORT&VID_0403&PID_6001 +%VID_0403&PID_6010.DeviceDesc%=FtdiPort2232,FTDIBUS\COMPORT&VID_0403&PID_6010 + +[FtdiPort.NT.AddService] +DisplayName = %SvcDesc% +ServiceType = 1 ; SERVICE_KERNEL_DRIVER +StartType = 3 ; SERVICE_DEMAND_START +ErrorControl = 1 ; SERVICE_ERROR_NORMAL +ServiceBinary = %10%\system32\drivers\ftser2k.sys +LoadOrderGroup = Base + +; -------------- Serenum Driver install section +[SerEnum_AddService] +DisplayName = %SerEnum.SvcDesc% +ServiceType = 1 ; SERVICE_KERNEL_DRIVER +StartType = 3 ; SERVICE_DEMAND_START +ErrorControl = 1 ; SERVICE_ERROR_NORMAL +ServiceBinary = %12%\serenum.sys +LoadOrderGroup = PNP Filter + +[FtdiPort.NT.AddReg] +HKR,,EnumPropPages32,,"ftserui2.dll,SerialPortPropPageProvider" + +[FtdiPort.NT.Copy] +ftser2k.sys +;serenum.sys + +[FtdiPort.NT.CopyUI] +ftserui2.dll +FTLang.dll + +[FtdiPort232.NT] +CopyFiles=FtdiPort.NT.Copy,FtdiPort.NT.CopyUI +AddReg=FtdiPort.NT.AddReg + +[FtdiPort232.NT.HW] +AddReg=FtdiPort232.NT.HW.AddReg + +[FtdiPort232.NT.Services] +AddService = FTSER2K, 0x00000002, FtdiPort.NT.AddService +AddService = Serenum,,SerEnum_AddService +DelService = FTSERIAL + +[FtdiPort232.NT.HW.AddReg] +HKR,,"UpperFilters",0x00010000,"serenum" +;HKR,,"ConfigData",1,01,00,3F,3F,10,27,88,13,C4,09,E2,04,71,02,38,41,9c,80,4E,C0,34,00,1A,00,0D,00,06,40,03,80,00,00,d0,80 +HKR,,"ConfigData",1,11,00,3F,3F,10,27,00,00,88,13,00,00,C4,09,00,00,E2,04,00,00,71,02,00,00,38,41,00,00,9C,80,00,00,4E,C0,00,00,34,00,00,00,1A,00,00,00,0D,00,00,00,06,40,00,00,03,80,00,00,00,00,00,00,D0,80,00,00 +HKR,,"MinReadTimeout",0x00010001,0 +HKR,,"MinWriteTimeout",0x00010001,0 +HKR,,"LatencyTimer",0x00010001,16 + +; ------- +; FT2232C +; ------- + +[FtdiPort2232.NT] +CopyFiles=FtdiPort.NT.Copy,FtdiPort.NT.CopyUI +AddReg=FtdiPort.NT.AddReg + +[FtdiPort2232.NT.HW] +AddReg=FtdiPort232.NT.HW.AddReg + +[FtdiPort2232.NT.CoInstallers] +AddReg=FtdiPort2232.NT.CoInstallers.AddReg +CopyFiles=FtdiPort2232.NT.CopyCoInst + +[FtdiPort2232.NT.Services] +AddService = FTSER2K, 0x00000002, FtdiPort.NT.AddService +AddService = Serenum,,SerEnum_AddService +DelService = FTSERIAL + +[FtdiPort2232.NT.CoInstallers.AddReg] +HKR,,CoInstallers32,0x00010000,"ftcserco.Dll,FTCSERCoInstaller" + +[FtdiPort2232.NT.CopyCoInst] +ftcserco.dll + +;---------------------------------------------------------------; + +[Strings] +FTDI="FTDI" +DESC="CDM Driver Package" +DriversDisk="FTDI USB Drivers Disk" +PortsClassName = "Ports (COM & LPT)" +VID_0403&PID_6001.DeviceDesc="USB Serial Port" +VID_0403&PID_6010.DeviceDesc="USB Serial Port" +SvcDesc="USB Serial Port Driver" +SerEnum.SvcDesc="Serenum Filter Driver" + + diff --git a/build/windows/dist/drivers/FTDI USB Drivers/FTDIUN2K.INI b/build/windows/dist/drivers/FTDI USB Drivers/FTDIUN2K.INI new file mode 100755 index 000000000..15162f92a --- /dev/null +++ b/build/windows/dist/drivers/FTDI USB Drivers/FTDIUN2K.INI @@ -0,0 +1,6 @@ +[Uninstall] +Device=VID_0403&PID_6001,VID_0403&PID_6010 +Converter=FTDIBUS +Serial=FTSER2K +InfFiles=FTDIBUS,FTDIPORT +Key=FTDICOMM diff --git a/build/windows/dist/drivers/FTDI USB Drivers/FTDIUNIN.exe b/build/windows/dist/drivers/FTDI USB Drivers/FTDIUNIN.exe new file mode 100755 index 000000000..4cee7519c Binary files /dev/null and b/build/windows/dist/drivers/FTDI USB Drivers/FTDIUNIN.exe differ diff --git a/build/windows/dist/drivers/FTDI USB Drivers/FTLang.dll b/build/windows/dist/drivers/FTDI USB Drivers/FTLang.dll new file mode 100755 index 000000000..a64d28715 Binary files /dev/null and b/build/windows/dist/drivers/FTDI USB Drivers/FTLang.dll differ diff --git a/build/windows/dist/drivers/FTDI USB Drivers/Installation Guides.url b/build/windows/dist/drivers/FTDI USB Drivers/Installation Guides.url new file mode 100755 index 000000000..b885746ce --- /dev/null +++ b/build/windows/dist/drivers/FTDI USB Drivers/Installation Guides.url @@ -0,0 +1,7 @@ +[DEFAULT] +BASEURL=http://www.ftdichip.com/Documents/InstallGuides.htm +[InternetShortcut] +URL=http://www.ftdichip.com/Documents/InstallGuides.htm +Modified=606147754AF7C50184 +IconFile=C:\WINNT\system32\url.dll +IconIndex=0 diff --git a/build/windows/dist/drivers/FTDI USB Drivers/ftcserco.dll b/build/windows/dist/drivers/FTDI USB Drivers/ftcserco.dll new file mode 100755 index 000000000..9c493d3e5 Binary files /dev/null and b/build/windows/dist/drivers/FTDI USB Drivers/ftcserco.dll differ diff --git a/build/windows/dist/drivers/FTDI USB Drivers/ftdibus.cat b/build/windows/dist/drivers/FTDI USB Drivers/ftdibus.cat new file mode 100755 index 000000000..05035ff55 Binary files /dev/null and b/build/windows/dist/drivers/FTDI USB Drivers/ftdibus.cat differ diff --git a/build/windows/dist/drivers/FTDI USB Drivers/ftdiport.cat b/build/windows/dist/drivers/FTDI USB Drivers/ftdiport.cat new file mode 100755 index 000000000..c84595b07 Binary files /dev/null and b/build/windows/dist/drivers/FTDI USB Drivers/ftdiport.cat differ diff --git a/build/windows/dist/drivers/FTDI USB Drivers/ftser2k.sys b/build/windows/dist/drivers/FTDI USB Drivers/ftser2k.sys new file mode 100755 index 000000000..a7b47e4f2 Binary files /dev/null and b/build/windows/dist/drivers/FTDI USB Drivers/ftser2k.sys differ diff --git a/build/windows/dist/drivers/FTDI USB Drivers/ftserui2.dll b/build/windows/dist/drivers/FTDI USB Drivers/ftserui2.dll new file mode 100755 index 000000000..eb97f1336 Binary files /dev/null and b/build/windows/dist/drivers/FTDI USB Drivers/ftserui2.dll differ diff --git a/build/windows/dist/libusb0.dll b/build/windows/dist/libusb0.dll new file mode 100755 index 000000000..9387bedad Binary files /dev/null and b/build/windows/dist/libusb0.dll differ diff --git a/build/windows/dist/rxtxSerial.dll b/build/windows/dist/rxtxSerial.dll new file mode 100644 index 000000000..c0e6b5822 Binary files /dev/null and b/build/windows/dist/rxtxSerial.dll differ diff --git a/build/windows/export/Makefile b/build/windows/export/Makefile deleted file mode 100755 index 0273e5b1d..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/lib/export/ - cp application.exe ../../shared/lib/export/ - -$(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 ea70a3a2d..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 be6009d4b..000000000 --- a/build/windows/export/launcher.cpp +++ /dev/null @@ -1,451 +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 and QTJAVA environment variables. -// 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) - -// 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); - -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; - /* - sprintf(app_classpath, - "%s\\lib;" - "%s\\lib\\pde.jar;" - "%s\\lib\\core.jar;" - "%s\\lib\\jna.jar;" - "%s\\lib\\ecj.jar;" - "%s\\lib\\antlr.jar;", - exe_directory, - exe_directory, exe_directory, - exe_directory, exe_directory, exe_directory); - */ - - } 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); - - //MessageBox(NULL, java_args, "args", MB_OK); - //MessageBox(NULL, java_main_class, "class", MB_OK); - //MessageBox(NULL, jar_list, "jarlist", MB_OK); - - 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); - //char *rt_jar = (fp == NULL) ? "" : "java\\lib\\rt.jar;"; - if (fp != NULL) fclose(fp); // argh! this was probably causing trouble - - //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; - - /* - // keep this code around since may be re-enabled later - if (getenv("CLASSPATH") != NULL) { - strcpy(env_classpath, getenv("CLASSPATH")); - if (env_classpath[0] == '\"') { - // starting quote in classpath.. yech - env_classpath++; // shitty.. i know.. - - int len = strlen(env_classpath); - if (env_classpath[len-1] == '\"') { - env_classpath[len-1] = 0; - } else { - // a starting quote but no ending quote.. ugh - // maybe throw an error - } - } - int last = strlen(env_classpath); - env_classpath[last++] = ';'; - env_classpath[last] = 0; - } else { - env_classpath[0] = 0; - } - */ - - char *qtjava_path = (char *)malloc(16384 * sizeof(char)); - qtjava_path[0] = 0; - - if (getenv("QTJAVA") != NULL) { - //char *qtjava_temp = (char *)malloc(16384 * sizeof(char)); - strcpy(qtjava_path, getenv("QTJAVA")); - removeQuotes(qtjava_path); - - /* - //MessageBox(NULL, qtjava_temp, "QTJAVA", MB_OK); - if (qtjava_temp[0] == '\"') { // has quotes - // remove quotes by subsetting string by two - int qtjava_repaired_length = strlen(qtjava_temp) - 2; - strncpy(qtjava_path, &qtjava_temp[1], qtjava_repaired_length); - // terminate the string since strncpy ain't gonna do it - qtjava_path[qtjava_repaired_length] = 0; - //MessageBox(NULL, qtjava_path, "QTJAVA", MB_OK); - } else { - strcpy(qtjava_path, getenv("QTJAVA")); - } - */ - - FILE *fp = fopen(qtjava_path, "rb"); - if (fp != NULL) { - fclose(fp); // found it, all set - strcat(qtjava_path, ";"); // add path separator - //MessageBox(NULL, "found 1", "msg", MB_OK); - //MessageBox(NULL, qtjava_path, "QTJAVA after strcat", MB_OK); - } else { - qtjava_path[0] = 0; // not a valid path - } - //} else { - //MessageBox(NULL, "no qtjava set", "mess", MB_OK); - } - - if (qtjava_path[0] == 0) { // not set yet - //if (getenv("WINDIR") == NULL) { - // uh-oh.. serious problem.. gonna have to report this - // but hopefully WINDIR is set on win98 too - //} else { - - strcpy(qtjava_path, getenv("WINDIR")); - strcat(qtjava_path, "\\SYSTEM32\\QTJava.zip"); - - FILE *fp = fopen(qtjava_path, "rb"); - if (fp != NULL) { - fclose(fp); // found it, all set - strcat(qtjava_path, ";"); // add path separator - //MessageBox(NULL, "found 2", "msg", MB_OK); - } else { - qtjava_path[0] = 0; // not a valid path - } - } - - if (qtjava_path[0] == 0) { - strcpy(qtjava_path, getenv("WINDIR")); - strcat(qtjava_path, "\\SYSTEM\\QTJava.zip"); - - fp = fopen(qtjava_path, "rb"); - if (fp != NULL) { - fclose(fp); // found it, all set - strcat(qtjava_path, ";"); // add path separator - //MessageBox(NULL, "found 3", "msg", MB_OK); - } else { - // doesn't seem to be installed, which is a problem. - // but the error will be reported by the pde - qtjava_path[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); - } - strcat(cp, qtjava_path); - - 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 0; - } - - //MessageBox(NULL, "2", "checking", MB_OK); - - //char *env_path = (char *)malloc(strlen(getenv("PATH")) * sizeof(char)); - - 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, " "); - - // 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 { - strcpy(executable, "javaw.exe"); - } - - SHELLEXECUTEINFO ShExecInfo; - - // 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; -} - - -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/build/windows/launcher/about.bmp b/build/windows/launcher/about.bmp index 355293746..9aff29bfc 100755 Binary files a/build/windows/launcher/about.bmp and b/build/windows/launcher/about.bmp differ diff --git a/build/windows/launcher/application.ico b/build/windows/launcher/application.ico index 6989af611..982f54e69 100644 Binary files a/build/windows/launcher/application.ico and b/build/windows/launcher/application.ico differ diff --git a/build/windows/launcher/config.xml b/build/windows/launcher/config.xml index a33138186..877e390a1 100755 --- a/build/windows/launcher/config.xml +++ b/build/windows/launcher/config.xml @@ -2,7 +2,7 @@ true gui lib - processing.exe + arduino.exe . @@ -19,13 +19,14 @@ lib/core.jar lib/jna.jar lib/ecj.jar - lib/antlr.jar + lib/oro.jar + lib/RXTXcomm.jar java 1.5.0 - jdkOnly + preferJre -Xms128m -Xmx128m diff --git a/build/windows/launcher/launch4j/w32api/crt2.o b/build/windows/launcher/launch4j/w32api/crt2.o new file mode 100755 index 000000000..f81f836cf Binary files /dev/null and b/build/windows/launcher/launch4j/w32api/crt2.o differ diff --git a/build/windows/launcher/processing.exe b/build/windows/launcher/processing.exe deleted file mode 100755 index 0a8839d45..000000000 Binary files a/build/windows/launcher/processing.exe and /dev/null differ diff --git a/build/windows/make.sh b/build/windows/make.sh index e7efec5f5..87aeb2d43 100755 --- a/build/windows/make.sh +++ b/build/windows/make.sh @@ -12,33 +12,30 @@ else mkdir work cp -r ../shared/lib work/ - cp -r ../shared/libraries work/ cp -r ../shared/tools work/ + cp dist/*.dll work/ + cp -r dist/drivers work/ + + cp -r ../../hardware work/ + cp ../../app/lib/antlr.jar work/lib/ cp ../../app/lib/ecj.jar work/lib/ cp ../../app/lib/jna.jar work/lib/ + cp ../../app/lib/oro.jar work/lib/ + cp ../../app/lib/RXTXcomm.jar work/lib/ - echo Extracting examples... - unzip -q -d work/ ../shared/examples.zip + echo Copying examples... + cp -r ../shared/examples work/ echo Extracting reference... unzip -q -d work/ ../shared/reference.zip - cp -r ../../net work/libraries/ - cp -r ../../opengl work/libraries/ - cp -r ../../serial work/libraries/ - cp -r ../../video work/libraries/ - cp -r ../../pdf work/libraries/ - cp -r ../../dxf work/libraries/ + echo Extracting avr tools... + unzip -q -d work/hardware/ avr_tools.zip echo Extracting enormous JRE... - unzip -q -d work jre.zip - - # build the export launcher - cd export - make - cd .. + unzip -q -d work/ jre.zip # build the processing.exe bundle # there are a few hacks in the source to launch4j-3.0.1 @@ -46,7 +43,7 @@ else # cd head_src/gui_head && make -f Makefile.win cd launcher ./launch4j/launch4jc.exe config.xml - cp processing.exe ../work/ + cp arduino.exe ../work/ cd .. # chmod +x the crew @@ -91,53 +88,12 @@ cd bin && zip -rq ../../build/windows/work/lib/core.jar \ # back to base processing dir cd .. -### -- BUILD PREPROC --------------------------------------------- - -if $BUILD_PREPROC -then - -echo Building PDE for JDK 1.5 - -cd app - -# first build the default java goop -../build/windows/work/java/bin/java \ - -cp "..\\build\\windows\\work\\lib\\antlr.jar" antlr.Tool \ - -o src/antlr/java \ - src/antlr/java/java.g - -# now build the pde stuff that extends the java classes -#../../build/windows/work/java/bin/java \ -# -cp "..\\..\\build\\windows\\work\\lib\\antlr.jar" antlr.Tool \ -# -o src/processing/app/preproc \ -# -glib antlr/java/java.g processing/app/preproc/pde.g - -# this is totally ugly and needs to be fixed -# the problem is that -glib doesn't set the main path properly, -# so it's necessary to cd into the antlr/java folder, otherwise -# the JavaTokenTypes.txt file won't be found - -# this is the eventual hack to make things work -# why this is required on windows and not the others is beyond me -cp src/antlr/java/JavaTokenTypes.txt src/processing/app/preproc/ - -# this is a total disaster...fix me soon! -cd src/processing/app/preproc -../../../../../build/windows/work/java/bin/java \ - -cp "..\\..\\..\\..\\..\\build\\windows\\work\\lib\\antlr.jar" antlr.Tool \ - -glib ../../../antlr/java/java.g \ - pde.g -cd ../../../.. - - -# back to base processing dir -cd .. - -fi ### -- BUILD PDE ------------------------------------------------ +echo Building the PDE... + cd app # has to be present, otherwise javac will complain of file writing errors @@ -148,16 +104,14 @@ mkdir ../build/windows/work/classes -classpath "..\\build\\windows\\work\\java\\lib\\tools.jar" \ com.sun.tools.javac.Main \ -source 1.5 -target 1.5 \ - -classpath "..\\build\\windows\\work\\lib\\core.jar;..\\build\\windows\\work\\lib\antlr.jar;..\\build\\windows\\work\\lib\\ecj.jar;..\\build\\windows\\work\\lib\\jna.jar;..\\build\\windows\\work\\java\\lib\\tools.jar" \ + -classpath "..\\build\\windows\\work\\lib\\core.jar;..\\build\\windows\\work\\lib\antlr.jar;..\\build\\windows\\work\\lib\\ecj.jar;..\\build\\windows\\work\\lib\\jna.jar;..\\build\\windows\\work\\lib\\oro.jar;..\\build\\windows\\work\\lib\\RXTXcomm.jar;..\\build\\windows\\work\\java\\lib\\tools.jar" \ -d ..\\build\\windows\\work\\classes \ src/processing/app/*.java \ src/processing/app/debug/*.java \ src/processing/app/syntax/*.java \ src/processing/app/preproc/*.java \ src/processing/app/tools/*.java \ - src/processing/app/windows/*.java \ - src/antlr/*.java \ - src/antlr/java/*.java + src/processing/app/windows/*.java cd ../build/windows/work/classes rm -f ../lib/pde.jar @@ -165,119 +119,6 @@ zip -rq ../lib/pde.jar . cd ../.. -### -- BUILD LIBRARIES ------------------------------------------------ - -PLATFORM=windows - - -#CLASSPATH="..\\build\\$PLATFORM\\work\\lib\\core.jar;..\\build\\$PLATFORM\\work\\java\\lib\\rt.jar" -#CLASSPATH="..\\build\\$PLATFORM\\work\\lib\\core.jar" - -JAVAC="../build/windows/work/java/bin/java -classpath ..\\build\\windows\\work\\java\\lib\\tools.jar com.sun.tools.javac.Main -source 1.5 -target 1.5" -CORE="..\\build\\$PLATFORM\\work\\lib\\core.jar" -LIBRARIES="..\\build\\$PLATFORM\\work\\libraries" - -# move to processing/build -cd .. - - -# SERIAL LIBRARY -echo Building serial library... -cd ../serial -mkdir -p bin -$JAVAC \ - -classpath "library\\RXTXcomm.jar;$CORE" \ - -d bin src/processing/serial/*.java -rm -f library/serial.jar -find bin -name "*~" -exec rm -f {} ';' -cd bin && zip -rq ../library/serial.jar processing/serial/*.class && cd .. -mkdir -p $LIBRARIES/serial/library/ -cp library/serial.jar $LIBRARIES/serial/library/ - -# NET LIBRARY -echo Building net library... -cd ../net -mkdir -p bin -$JAVAC \ - -classpath "$CORE" \ - -d bin src/processing/net/*.java -rm -f library/net.jar -find bin -name "*~" -exec rm -f {} ';' -cd bin && zip -rq ../library/net.jar processing/net/*.class && cd .. -mkdir -p $LIBRARIES/net/library/ -cp library/net.jar $LIBRARIES/net/library/ - - -# VIDEO LIBRARY -echo Building video library... -if test -f "${QTJAVA}" -then - echo "Found Quicktime 7 installation" -else - QTJAVA="$WINDIR\\system32\\QTJava.zip" - if test -f "${QTJAVA}" - then - echo "Found Quicktime 6 at $QTJAVA" - else - echo "Could not find QuickTime for Java," - echo "you'll need to install it before building." - exit 1; - fi -fi -cd ../video -mkdir -p bin -$JAVAC \ - -classpath "$QTJAVA;$CORE" \ - -d bin src/processing/video/*.java -rm -f library/video.jar -find bin -name "*~" -exec rm -f {} ';' -cd bin && zip -rq ../library/video.jar processing/video/*.class && cd .. -mkdir -p $LIBRARIES/video/library/ -cp library/video.jar $LIBRARIES/video/library/ - - -# OPENGL LIBRARY -echo Building OpenGL library... -cd ../opengl -mkdir -p bin -$JAVAC \ - -classpath "library\\jogl.jar;$CORE" \ - -d bin src/processing/opengl/*.java -rm -f library/opengl.jar -find bin -name "*~" -exec rm -f {} ';' -cd bin && zip -rq ../library/opengl.jar processing/opengl/*.class && cd .. -mkdir -p $LIBRARIES/opengl/library/ -cp library/opengl.jar $LIBRARIES/opengl/library/ - - -# PDF LIBRARY -echo Building PDF library... -cd ../pdf -mkdir -p bin -$JAVAC \ - -classpath "library\\itext.jar;$CORE" \ - -d bin src/processing/pdf/*.java -rm -f library/pdf.jar -find bin -name "*~" -exec rm -f {} ';' -cd bin && zip -rq ../library/pdf.jar processing/pdf/*.class && cd .. -mkdir -p $LIBRARIES/pdf/library/ -cp library/pdf.jar $LIBRARIES/pdf/library/ - - -# DXF LIBRARY -echo Building DXF library... -cd ../dxf -mkdir -p bin -$JAVAC \ - -classpath "$CORE" \ - -d bin src/processing/dxf/*.java -rm -f library/dxf.jar -find bin -name "*~" -exec rm -f {} ';' -cd bin && zip -rq ../library/dxf.jar processing/dxf/*.class && cd .. -mkdir -p $LIBRARIES/dxf/library/ -cp library/dxf.jar $LIBRARIES/dxf/library/ - - echo echo Done. diff --git a/build/windows/run.sh b/build/windows/run.sh index f02bbbdff..a86f10442 100644 --- a/build/windows/run.sh +++ b/build/windows/run.sh @@ -1,6 +1,6 @@ #!/bin/sh -CLASSPATH=lib\\pde.jar\;lib\\core.jar\;lib\\jna.jar\;lib\\ecj.jar\;lib\\antlr.jar\;java\\lib\\tools.jar +CLASSPATH=lib\\pde.jar\;lib\\core.jar\;lib\\jna.jar\;lib\\ecj.jar\;lib\\antlr.jar\;lib\\oro.jar\;lib\\RXTXcomm.jar\;java\\lib\\tools.jar export CLASSPATH cd work && ./java/bin/java processing.app.Base