GithubHelp home page GithubHelp logo

franko / lhelper Goto Github PK

View Code? Open in Web Editor NEW
11.0 11.0 0.0 7.28 MB

A simple utility to helps compile and install C/C++ libraries on Windows and Linux

Shell 83.85% C 16.15%
build-tool c c-plus-plus cmake linux meson mingw recipe

lhelper's People

Contributors

francesco-st avatar franko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

lhelper's Issues

MSYS2

MSYS2 has many sub systems: MINGW32, MINGW64, UCRT64, CLANG64, MSYS,... When you mentioned MSYS2 on README.md, I think you mean the MSVCRT based MINGW32 and MINGW64? Will it work on UCRT64 or CLANG64 too? The last sub system, MSYS, is indeed MSYS2's fork of Cygwin (it links with msys-2.0.dll, not cygwin-1.dll). It behaved exactly like Cygwin, except sometimes build scripts doesn't correctly detect it and failed to work correctly because it uses the different triplet than Cygwin.

It's only about libraries?

I should pay a little more attention to it. The name of it is "Little Library Helper". I wanted to compile normal packages (including binaries), not just libraries. I tried to setup an environment to compile Lua and it successfully compiled Lua, but it's not the Lua interpreter I expected but just the Lua library liblua.a put on the directory with the same name as the environment name under .lhelper directory.

Perhaps winlibs is what I want. Too bad the author stated he will only support MSYS2. lhelper worked fine on Cygwin but is not what I want.

Allow using of nano to edit spec file

Currently it's hardcoded to use vim:

.local/bin/lhelper: line 1300: vim: command not found

The situation on most Linux distro and MSYS2 is they shipped with nano by default but not vim. IMO, the users should be able to use their favorite editor. Ask the users to set the environment variable EDITOR and lhelper will just use $EDITOR, otherwise fall back to vim.

Wrong PKG_CONFIG_PATH on Linux x86

On Linux x86 (i386) architecture the pkgconfig file created by Meson is saved in the folder lib/i386-linux-gnu/pkgconfig but lhelper is adding lib/pkgconfig in the PKG_CONFIG_PATH variable.

Meson is apparently doing the right thing,

Lhelper should figure out the directory to use for libraries and pkgconfig files from the architecture of the host system.

Fix cp: cannot create regular file : No such file or directory

The reason is on your install script you tell cp to copy to "$DESTDIR/bin" without checking if "$DESTDIR/bin" exists or not. Most of the time, the directory $1 doesn't exist yet so you have to use mkdir -p to make sure it's exist.

You did mkdir -p "$DESTDIR/bin" but it's after the code for cp lh-$modname "$DESTDIR/bin" is executed and you have no mkdir -p "$DESTDIR" at all. I moved mkdir -p "$DESTDIR/bin" and make a mkdir -p "$DESTDIR". It worked without problems now:

PREFIX="$1"

if [ -z "${DESTDIR+x}" ]; then
DESTDIR="$PREFIX"
mkdir -p "$DESTDIR"
mkdir -p "$DESTDIR/bin"
fi

Github install script went rogue in WSL2

The github-install script enumerate PATH to get a path with /bin. Coincidentally, the first path in my PC that have /bin is on Windows. lhelper is installed there and that causes big slowdowns.

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.