On 03/06/18 03:18, Antonio Scuri wrote:

   So along with the definitions:

export LUA_SUFFIX=
export LUA_INC=/usr/include/lua5.1

   You should also define:


   This was missing in the "Building  Lua, IM, ..." documentation.

   Regarding the difference from doing that or defining on the command line
I don't know why it didn't work. But I suspect it is related to the fact
that make is invoked from inside the Makefile. This would also explain the
"-p" parameter problem.


G'day Scuri and others,

I'm now able to build {both IM and CD} on {both Gentoo GNU/Linux
and (GNU/) Linux Mint}, without modifying any of the supplied
sources, and with no OS-specific code in the build script (at
present... I'm still eyeing off /etc/os-release...).

Quite a number of problems I was having turned out to be a
by-product of the Lua script calling os.execute() to perform the
build... I wanted to control environment variables such as LUA_BIN
in that call, and I knew that os.execute() runs via the shell
(bash), but I couldn't get things to work out.

Turns out there were two blockages:

1. I was compiling a very fancy series of commands (e.g. including
   an explicit "export" command for each variable)... but, somewhere
   during a long process of trying many, many of variations, I
   reverted the build command, such that, depending on which
   variation I was trying, I was sometimes simply doing
   os.execute("make").  Oops!

2. I've been writing makefiles since the mid-1980s, and had brief
   exposure to it in other projects where other savvy people had
   set up quite complex combinations... but I wouldn't call myself
   highly proficient.  Well... I read through the GNU Make Info
   manual in detail, looking especially at variables:
   2a. Environment variables (implicitly imported);
   2b. Using Make's "-e" flag during a recursive invocation to
       force environment to be used within subsidiary Makefiles,
       especially tecmake.mak;
   2c. The old-style "=" recursive definition of variables;
   2d. GNU'extension ":=", now adopted by POSIX as "::=", for
       "simple" variables that only undergo substitution when the
       variable is encountered during recipe execution; and
   2e. Supplying variables as Makefile parameters: NAME=VALUE.

*2e: Bingo!*

I have been able to override BIN2C:  The full-on build commands (for
IM, on Gentoo, in this example) is:

       $ pushd im/src
       $ LC_ALL=C make LUA_SUFFIX= LUA_INC=/usr/include/lua5.1 LUA_BIN=/usr/bin 
BIN2C="/usr/bin/lua bin2c.lua" >../../build-gentoo-im.txt 2>&1
       $ popd

[The LC_ALL locale override is for my error message processing...
more on that when I've got my existing infrastructure working
properly, including improving the documentation of the scripts,
and slimming down extra stuff that I've tried but that has turned
out to be non-productive.]

As for IUP, I'm getting messages that seem to suggest missing,
mismatched or misused support header/package files, so there's
some way to go before that's sorted out.  Once this is working,
I'll do:

   1. Release all the tools in the ecosystem I've built up, for
      others to use/abuse.  I have no idea if others have an
      interest in this; also, I note that quite a number of users
      run the compiled binaries on Windows, and I haven't
      investigated whether my toolkit might be helpful for those
      that wish to build components under Windows;

   2. Go back to my secondary interest in the IM/CD/IUP toolkit:
      wanting to work to reduce, and hopefully eliminate, warnings
      emitted by the compiler toolchain, and possibly some other
      code changes, in the hope of making the sources more robust
      and maintainable (e.g. new diagnostics from GCC 6.x, such
      as "-Wmisleading-indentation"); and

   3. With a few things crossed off of my "things to do" list, try
      and catch up on other things in my life.

Thanks for your help and patience...

programmer, Grouse Software

Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Iup-users mailing list

Reply via email to