L
Luis Lavena
Hello,
This request might sounds weird, but I'm working on a small project
that will help with RubyInstaller internal structure, maintenance and
will help other projects when combined with tools like rake-compiler
to build stuff more properly.
The ones following me on GitHub might have noticed the project that
I'm working on, well, that one
I've been looking into several projects that are autoconf-based and
most of them are huge. I need something fast and slim that can provide
me a series of building blocks for this. The idea of this sample
application is be part of a testing infrastructure.
This package should be able to generate a executable file (myapp.exe)
and a static library (libmylib.a) placed in bin and lib directory
after the normal configure, make, make install flow.
=3D=3D=3D
Requirements:
'configure' script should be able to support a --prefix option to
define the installation directory, e.g.:
$ sh configure --prefix=3D/installed/path
It also should be able to support --host, --target and --build options
for cross-compilation, but the only one for cross compilation is
--host and the value provided to it will be used to prefix GCC, AR,
RANLIB, LD and others later in the process, e.g.:
$ sh configure --prefix=3D/installed/path --host=3Di686-w64-mingw32
For the cases of --host not defined, you can use GNU config.guess
(http://savannah.gnu.org/projects/config) to determine the current
platform host.
Now, it is time for make. Invoking 'make' should use the configure
generated Makefile (could use sed + Makefile.in) and build myapp.exe,
libmylib.a. Please note that on non-Windows platforms is required to
generate myapp as executable, so you can use tricks like myapp$(EXE)
in the Makefile and have it define EXE=3D.exe or EXE=3D for non-Windows.
$ make
It is expected to work
The last step is installation, e.g.:
$ make install
Is expected to copy over the generated myapp.exe, libmylib.a into the
prefix's bin and lib directory respectively. It is also required it
copy mylib.h into prefix's include directory.
The target structure should be:
bin/myapp{.exe}
include/mylib.h
lib/libmylib.a
The source files provided could be:
configure (plain sh script)
myapp.c
mylib.c
mylib.h
Makefile.in (possible template for use with sed by configure)
=3D=3D=3D
While I could have learned autoconf myself (with LOT of time), the
size of any of the packages I autoconf-based packages are huge
compared to what I need, making things really hard for me (everybody
knows that I'm lazy)
I hope someone more fluent on sh/make can take a stab on this and
perhaps help me out.
The conditions: be MIT licensed and be provided in a Git repository on GitH=
ub.
I have 50 USD dollars (plus Paypal fee) ready for the one that can provide =
this.
What do you guys think? Let me know if you need further details before
starting to work on this.
Thank you for your time and if you know who could be interested in
this, spread the word!
Regards,
--=20
Luis Lavena
AREA 17
-
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exup=E9ry
This request might sounds weird, but I'm working on a small project
that will help with RubyInstaller internal structure, maintenance and
will help other projects when combined with tools like rake-compiler
to build stuff more properly.
The ones following me on GitHub might have noticed the project that
I'm working on, well, that one
I've been looking into several projects that are autoconf-based and
most of them are huge. I need something fast and slim that can provide
me a series of building blocks for this. The idea of this sample
application is be part of a testing infrastructure.
This package should be able to generate a executable file (myapp.exe)
and a static library (libmylib.a) placed in bin and lib directory
after the normal configure, make, make install flow.
=3D=3D=3D
Requirements:
'configure' script should be able to support a --prefix option to
define the installation directory, e.g.:
$ sh configure --prefix=3D/installed/path
It also should be able to support --host, --target and --build options
for cross-compilation, but the only one for cross compilation is
--host and the value provided to it will be used to prefix GCC, AR,
RANLIB, LD and others later in the process, e.g.:
$ sh configure --prefix=3D/installed/path --host=3Di686-w64-mingw32
For the cases of --host not defined, you can use GNU config.guess
(http://savannah.gnu.org/projects/config) to determine the current
platform host.
Now, it is time for make. Invoking 'make' should use the configure
generated Makefile (could use sed + Makefile.in) and build myapp.exe,
libmylib.a. Please note that on non-Windows platforms is required to
generate myapp as executable, so you can use tricks like myapp$(EXE)
in the Makefile and have it define EXE=3D.exe or EXE=3D for non-Windows.
$ make
It is expected to work
The last step is installation, e.g.:
$ make install
Is expected to copy over the generated myapp.exe, libmylib.a into the
prefix's bin and lib directory respectively. It is also required it
copy mylib.h into prefix's include directory.
The target structure should be:
bin/myapp{.exe}
include/mylib.h
lib/libmylib.a
The source files provided could be:
configure (plain sh script)
myapp.c
mylib.c
mylib.h
Makefile.in (possible template for use with sed by configure)
=3D=3D=3D
While I could have learned autoconf myself (with LOT of time), the
size of any of the packages I autoconf-based packages are huge
compared to what I need, making things really hard for me (everybody
knows that I'm lazy)
I hope someone more fluent on sh/make can take a stab on this and
perhaps help me out.
The conditions: be MIT licensed and be provided in a Git repository on GitH=
ub.
I have 50 USD dollars (plus Paypal fee) ready for the one that can provide =
this.
What do you guys think? Let me know if you need further details before
starting to work on this.
Thank you for your time and if you know who could be interested in
this, spread the word!
Regards,
--=20
Luis Lavena
AREA 17
-
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exup=E9ry