Coder Social home page Coder Social logo

mg's Introduction

PORTING MG AND USING LIBBSD

I've maintained and ported mg for quite some time now and at first it was easy recently it got harder and harder since it was a moving target. Especially the inclusion of some system specific libraries since about 2 years ago made it too much of an effort for my humble coding skills.

So recently Jasper Lievisse Adriaanse asked me to try it again and I restarted working on the project and ran into exactly the same problems again. While googling for solutions I ran into libbsd:

http://libbsd.freedesktop.org/wiki/

It's a porting library for OpenBSD code! And after installing that it was a piece of pie to get mg ported again.

PORTING TO ALL OTHER PLATFORMS

Okay, that was debian. Now I have to get the rest of all the previously supported platforms working again. All help is welcome and as always: Please provide patches that do not break stuff for other platforms.

BUILDING MG

So, basic instructions for building mg:

  • Get the libbsd and libncurses dev packages installed.
  • Run the following commands:
make
sudo make install

USING CMAKE

You can also build mg with cmake, it goes like this:

  • Get the libbsd and libncurses dev packages installed.
  • Run the following commands:
mkdir build
cd build
cmake ..
make
sudo make install

Kudos to Leonid Bobrov(@mazocomp) for adding CMAKE support.

STATIC BUILDS

I recently figured out how to make really portable static builds: On an alpine linux system, build with the command:

make STATIC=yesplease

glibc does not really support static binaries. https://www.musl-libc.org/ does not have this problem.

USING CVS

This code is the cvs checkout from the OpenBSD project so if you install cvs you can see what I changed to port mg. Like this:

cvs diff -uw

mg's People

Contributors

hboetes avatar liangfu avatar ulm avatar

Watchers

 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.