franko / lhelper Goto Github PK
View Code? Open in Web Editor NEWA simple utility to helps compile and install C/C++ libraries on Windows and Linux
A simple utility to helps compile and install C/C++ libraries on Windows and Linux
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.
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.
Please have a look:
https://github.com/brechtsanders/winlibs_tools
https://github.com/brechtsanders/winlibs_recipes
What is the differences and the pros/cons of each projects?
You only mentioned MSYS2 but not Cygwin.
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.
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.
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
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.