Giter Club home page Giter Club logo

build-djgpp's Introduction

Building DJGPP cross compiler on Windows, Mac OSX, Linux and FreeBSD.

build-djgpp : Build DJGPP cross compiler and binutils on Windows (MinGW/Cygwin), Mac OSX, Linux and FreeBSD.

Prebuilt binary files

If you don't want build DJGPP by yourself, you can download prebuilt DJGPP binary files for MinGW, OSX and Linux from GitHub Release page.

Requirement

Before running this script, you need to install these programs first :

  • g++
  • gcc
  • unzip
  • bison
  • flex
  • make (or gmake for FreeBSD)
  • makeinfo
  • patch
  • zlib header/library
  • curl (for Cygwin/OSX/Linux/FreeBSD)
  • wget (for MinGW)
  • bash (for FreeBSD)

Depending on your system, installation procedure maybe different.

On Debian/Ubuntu, you can install these programs by :

sudo apt-get update
sudo apt-get install bison flex curl gcc g++ make texinfo zlib1g-dev g++ unzip

Fedora :

sudo yum install gcc-c++ bison flex texinfo patch zlib-devel

MinGW :

mingw-get update
mingw-get install msys-unzip libz-dev msys-wget msys-bison msys-flex msys-patch

Configuration

Default install location is /usr/local/djgpp. You can change install location by setting environment variable DJGPP_PREFIX :

DJGPP_PREFIX=/usr/local/my-djgpp

Default support language is C and C++. You can change supported languages by setting environment variable ENABLE_LANGUAGES :

ENABLE_LANGUAGES=c,c++,f95,objc,obj-c++

Building DJGPP compiler

To build DJGPP, just run :

./build-djgpp.sh gcc-version

Currently supported gcc-version :

  • 4.7.3
  • 4.8.4
  • 4.8.5
  • 4.9.2
  • 4.9.3
  • 4.9.4
  • 5.1.0
  • 5.2.0
  • 5.3.0
  • 5.4.0
  • 5.5.0
  • 6.1.0
  • 6.2.0
  • 6.3.0
  • 6.4.0
  • 6.5.0
  • 7.1.0
  • 7.2.0
  • 7.3.0
  • 7.5.0
  • 8.3.0
  • 9.3.0
  • 10.1.0
  • 10.2.0
  • 10.3.0
  • 12.1.0
  • 12.2.0

For example, to build DJGPP for gcc 12.2.0 :

./build-djgpp.sh 12.2.0

It will download all necessary files, build DJGPP compiler and binutils, and install it.

Using DJGPP compiler

There are 2 methods to run the compiler (BASE_DIR is your DJGPP install location).

  • Use compiler full name :
BASE_DIR/bin/i586-pc-msdosdjgpp-g++ hello.cpp
  • Or, use compiler short name, you have to change environment variables.

If you are using Linux :

export PATH=BASE_DIR/i586-pc-msdosdjgpp/bin/:$PATH
export GCC_EXEC_PREFIX=BASE_DIR/lib/gcc/
g++ hello.cpp

Or, run :

source BASE_DIR/setenv

If you are using Windows command prompt :

PATH=BASE_DIR/i586-pc-msdosdjgpp/bin;%PATH%
set GCC_EXEC_PREFIX=BASE_DIR/lib/gcc/
g++ hello.cpp

Or, run :

BASE_DIR/setenv.bat

Supported DJGPP Utilities

  • dxe3gen
  • dxe3res
  • dxegen
  • exe2coff
  • stubedit
  • stubify

Successful build

  • OSX 10.12.5
  • Debian 7 (32bit)
  • Ubuntu 12 (64bit)
  • FreeBSD-10.2 (64bit)
  • Cygwin (32bit Windows XP)
  • MinGW (32bit Windows XP)

Thanks

This script is based on spec file from DJGPP source rpm files by Andris Pavenis :

http://ap1.pp.fi/djgpp/index.html

build-djgpp's People

Contributors

andrewwutw avatar cyanea-bt avatar gphg avatar gitmensch avatar rutsky avatar ravyne avatar qbarnes avatar samb avatar sezero avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.