Open Forum > What's New

ScriptBasic 64 bit Windows

(1/2) > >>

Support:
I would like to thank Armando Rivera for helping out the ScriptBasic open source project once again and creating a 64 bit version of the core executables for Windows.

[*]scriba - Command line interpreter
[*]sbhttpd - Multi-threaded web server
[*]libscriba - Runtime shared object (DLL) for your compiled ScriptBasic applications to C
[/list]




--- Quote from: Armando Rivera ---You wondered, and so did I.

Cheesy makefile, but it works.

64-BIT scriba/sbhttpd/dll (with import library named scriba_imp.a) compiled with MinGW64 for Windows.  No extension modules, though. I'll leave that to you.

If you want to compile this as 32bit, change -m64 to -m32 in the makefile.

Not tested, that's your job. The executables run, though.

--- End quote ---


Support:
Armando was able to get some of the standard (non-3rd party) extensions modules compiled for the 64 bit version.


--- Quote from: Armando Rivera ---Attached is another 64bit Windows build, this time with the standard modules (except for MT, it uses ASM in spots and I ain't translating that to GAS syntax).

You have the main Makefile for the executables in the root folder; each extension has it's own Makefile in it's associated folder.

To build all of this, just run the compile.cmd file I created to make this simple.

If you want to build this as 32 bit, you'll have to edit EACH Makefile and change the -m64 to -m32.

Anyway, there you have it.  This was a fun exercise, but I'm not doing anything else with it.  I've gotten you this far, now it's up to you to see where it goes from here...

A.

--- End quote ---

Extension Modules
[*]CGI - CGI helper functions.
[*]CIO - Windows console mnemonics
[*]DBG - Windows console preprocessor debugger
[*]HASH - Hashing functions
[*]NT - Windows specific functions (registry, ...)
[*]RE - Regular Expression functions
[*]SDBG - Remote (telnet) preprocessor debugger
[*]T - Array, string and XML Tools
[*]TRIAL - Example ScriptBasic extention module (How To)
[*]MT - ScriptBasic webserver session manager
[*]ODBC - Database manager extension module
[/list]


FYI:
[*]ScriptBasic is an embeddable 32/64 bit scripting engine that runs on Windows, Linux and the Mac
[*]ScriptBasic includes a command line interpreter with a debugging preprocessor (console & remote)
[*]ScriptBasic includes a multi-threaded webserver with in memory session support
[*]You can compile your ScriptBasic applications to a C based standalone executable for a small footprint using a shared object runtime library
[*]ScriptBasic is easily expanded with extension modules that expose the ScriptBasic API to your interface and 3rd party libraries
[*]Extensive user and developer documentation included
[*]FREE and LGPL with no strings attached for commercial use of ScriptBasic
[/list]

Support:
I noticed that there isn't a default scriba.conf binary configuration file in this distribution. I attached my ScriptBasic Windows scriba.conf.txt as an example to edit and compile.


--- Code: ---scriba -k scriba.conf.txt

--- End code ---

The above will compile your ScriptBasic configuration text file version to it's binary format that ScriptBasic needs to see it in.


--- Quote from: ScriptBasic User Documentation ---Win32 installation first tries to open the file `scriba.conf' if it exists in the same directory as the executable file. This is a convenient place to store the configuration file and does not require registry editing to install ScriptBasic. This is also the ultimate place for CD ROM products utilizing ScriptBasic that need running instantaneously without any installation.

If the file `scriba.conf' does not exist in the directory of the executable the configuration manager tries to open the file, which is specified in the string value, named config under the registry key HKEY_LOCAL_MACHINE\Software\ScriptBasic. If there is no name specified in this registry value ScriptBasic tries to locate the configuration file `scriba.ini' in the system directory. The system directory is determined reading the environment variable windir. If this environment variable does not exits ScriptBasic tries systemroot. It should usually exist on normal Windows installation. If ScriptBasic can not find even this environment variable it tries `C:\WINDOWS' as final try. If no configuration file can be found ScriptBasic tries to execute the program without configuration information.

Note that if for example `C:\WINNT\scriba.ini' exists and is valid, but the registry defines a different and a non-existent or invalid file ScriptBasic will fail to load the configuration file. It will try to read the file specified in the registry. The other file options are searched when the registry key does not exist or is empty.

If the command line uses the option `-f' then the argument of the option is used as configuration file and this overrides all configuration search algorithm. If the file specified in the option `-f' does not exists then ScriptBasic runs without configuration.

--- End quote ---

ScriptBasic Configuration File Help

Support:
Armando completed the default ScriptBasic Windows 64-Bit distribution set with the RC3 release. This release candidate adds the MT (session manager) and ODBC extension modules to the distribution. Armando also worked on the make file (see below) and added a make clean option to clear the bin directory before a new compile.

If you want to generate a Windows 32-Bit version of ScriptBasic, change the -m64 to -m32 in the make file(s).


--- Quote from: Armando Rivera ---The main Makefile now compiles everything that the cmd script I wrote did, so that script no longer works.  I've also added a clean target to the makefile, so you can nuke your bin folder with:  make clean.  The makefile handles the creation of the bin folder structure now.

--- End quote ---

Support:
Armando added the MySQL extension module to the 64-bit version of the release.


--- Quote from: Armando Rivera ---I downloaded the mysql-connector-c-noinstall-6.0.2-winx64.zip file, since I didn't want to clutter up my system using the installer with something I'm not going to be using.

In order to get the dll to work with MinGW64, I had to do the following (gcc doesn't understand the import lib that ships with the connector (or pretty much any MS generated import lib, I think):
1.   Download pexports from http://sourceforge.net/projects/mingw/files/MinGW/pexports/pexports-0.44-1/pexports-0.44-1-mingw32-bin.tar.lzma/download
2.   After unpacking, copy that to the MinGW64/bin folder
3.   Navigate to the folder containing the libmysql.dll file, and do: pexports libmysql.dll > libmysql.def
4.   Next, I created the actual import lib with:  dlltool -k --input-def libmysql.def --dllname libmysql.dll --output-lib libmysql.a
5.   Next, I copied that into the MinGW64/lib folder
6.   Then, I copied the  ibmysql.dll file into the Windows\SysWOW64 folder
7.   Finally, I copied the "include" folder that comes with the connector package to MinGW64/include, and then RENAMED IT TO "mysql".  <--very important

BTW, in case you didn't realize this, the MinGW64 package that James provided the link for on the BCX forum is 32bit.  Meaning, you can install it on your 32 bit system and use it to compile both 32 AND 64 bit binaries.

--- End quote ---

DOWNLOAD ScriptBasic 64/32 for Windows

TMD-GCC - A GCC / MinGW / MinGW-w64 compiler suite for 32-bit and 64-bit Windows

A big Thank You Armando for helping the ScriptBasic project out once again.

Navigation

[0] Message Index

[#] Next page

Go to full version