Olivier Thauvin wrote:
> Le Wednesday 2 March 2005 17:04, Leopold Toetsch a écrit :
>>>blib/lib/libparrot.so => $(LIBDIR)/libparrot.so
>>>whatever/file.pmc => $(PARROTLIBDIR)/whatever/file.pmc
>>Sounds reasonable. What about the icu files?
> icu use autotools, maybe let autotools decide, but we should find a way to
> passe CFLAGS and path to configure.
The configure / make steps are working basically. Installation is the
problem. We don't want to overwrite any system ICU files that might be
there. I think ICU libs should go to runtime/parrot/lib. But then
there's a problem, if parrot is installed or not as paths would differ.
> There is a pb here, .so become .dll on windows, binary become binary.exe,
That's all abstracted already: $(SHARE_EXT), $(EXE), ...
> For what I understand:
> Configure.PL + makefile*.in => Makefile
> Script + MANIFEST => installation process.
> There is an evident issue here: duplicate and mistmatch code.
Yes. As said, I'd factor out common parts into a perl module.
> Why not having only one makefile ?
The root makefile is already big enough. languages/*/Makefile are
maintained by their owners. Distinct makefiles for various parts is a
> Why not let make install generated files ?
We've to install on very different platforms. make syntax is quite
different. Doing it in perl is just easier IMHO, as all the platform
issues are handled by perl itself.
> Are Manifest.* very usefull ? those file can be used only by rpm, is the
> installation process is not here to make the packager works.
MANIFEST is the canonical list of all files. It's essential.
MANIFEST.generated is the list of generated items to install and where
to install it. Seems to be quite ok.
> I just open some questions here.
> If I had choice:
> - do not make MANIFEST.* => rpm packager job
I'd say, first fix "make install", then have a look at rpms.
> - adding an install target in Makefile for all file instead having a perl
> script + fixed lists for installation
Or probably better, just fix the perl script by adding redirections e.g.
'blib/lib' => '$(PARROTLIBDIR)'