Files @ 01b9d75cb89e
Branch filter:

Location: logiqub/README.md

logiqub
README install linux/raspbian
# Description

The logiqub is a scripting language designed to be small, fast, and
interoperable (portable, extensible, embeddable). As a virtual machine
assembler, high level features present in other languages are not implemented.
The minimalist approach reduces complexity and maintenance, and increases
agility by cutting depencies. That being said, anything that can be done
in C and assembly can be done with the logiqub.

Visit the <a href="http://logiqub.com/about" class="readme">about</a> page to
learn about the making of this product.

# Build

Detailed building instruction for advanced users are available at the
<a href="http://logiqub.com/build" class="readme">build</a> page.

# Install

You can browse the source and download files on the online mercurial
<a href="http://logiqub.com/repo/" class="readme">repository</a>.

Supported systems and architectures:

* Windows - x86
* Linux - x86
* Raspbian - ARMv7 (beta)
* Java - JVM (alpha)

## Linux (Debian, Raspbian)

### 1) Binary

Debian packages for the logiqub are not available for the moment.
You can download a prebuilt binary <a href="http://logiqub.com/download/">here</a>.
For graphical apps get the SDL2 libraries for Debian:

    sudo apt-get update
    sudo apt-get install libsdl2-2.0
    sudo apt-get install libsdl2-image-2.0
    sudo apt-get install libsdl2-tff-2.0
    sudo apt-get install libsdl2-mixer-2.0

### 2) Source

In the following code, change "linux" to "raspbian" for the Raspberry Pi.

    sudo apt-get update
    sudo apt-get install binutils
    sudo apt-get install gdb        # optional
    sudo apt-get install make
    sudo apt-get install mercurial

    cd $HOME                        # if you wish to install there
    hg clone http://logiqub@logiqub.com/repo/logiqub

    cd logiqub/system/linux
    make                            # release build
    make debug                      # debug build (symbols for gdb)
    make lib                        # library build

To install:

    ln -s $HOME/logiqub/system/linux/logiqub $HOME/bin/logiqub
    ln -s $HOME/logiqub/system/linux/liblogiqub.so $HOME/bin/liblogiqub.so

To test:

    cd $HOME/logiqub/demo
    logiqub ascii.qub

    cd tetris                       # SDL2
    logiqub main.qub

## Windows

### 1) Binary

You can download a prebuilt binary <a href="http://logiqub.com/download/">here</a>.

For graphical apps get the 32-bit <a href="https://www.libsdl.org/download-2.0.php">SDL2 libraries</a> for Windows.

### 2) Source

You can also compile the logiqub executable from source.

Install Mininal GNU for Windows: <a href="www.mingw.org">MinGW</a>.
Open a terminal.

    pacman -Syu                   # optional, update system
    pacman -S binutils
    pacman -S gdb                 # optional, to debug the virtual machine
    pacman -S ansicon
    pacman -S msys/winpty
    pacman -S msys/make
    pacman -S mercurial

    cd $HOME                      # if you wish to install there
    hg clone http://logiqub@logiqub.com/repo/logiqub

    cd logiqub/system/windows
    make                          # release build
    make debug                    # debug build (symbols for gdb)


To properly install the executable, you should add it to your PATH environment
variable. You can also create a logiqub.rc file with aliases and some paths.

    alias run="ansicon_x86 winpty logiqub"
    alias debug="ansicon_x86 winpty gdb --args logiqub"
    export PATH=$PATH:$HOME/logiqub/system/windows
    export LD_LIBRARY_PATH="/mingw32/i686-w64-mingw32/lib"

Make sure to "source logiqub.rc" in your .bashrc file to make the aliases
available, or do it manually when you need.


If you wish to use SDL2 applications, get the library and at least the image addon:

    pacman -S mingw32/mingw-w64-i686-SDL2 
    pacman -S mingw32/mingw-w64-i686-SDL2_image
    pacman -S mingw32/mingw-w64-i686-SDL2_mixer
    pacman -S mingw32/mingw-w64-i686-SDL2_ttf


Verify installation.

    cd $HOME/logiqub/demo
    run ascii.qub

    cd tetris                       # SDL2
    run main.qub

# Execution

Find demos and tutorials showcasing the capabilities of the logiqub at the
<a href="http://logiqub.com/play" class="readme">play</a> page.

# Documentation

To learn about the underlying system, its philosophy based of the Forth
language and other materials that may help you build your own system, you
can check the <a href="http://logiqub.com/learn" class="readme">learn</a> page.

# Support

If you like this software, what to share ideas or have features added to it,
please let me know at logiqub@gmail.com. Additionally you may
<a href="http://logiqub.com/support" class="readme">donate</a>.