FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Fedora Development

 
 
LinkBack Thread Tools
 
Old 01-26-2010, 12:01 PM
Christoph Höger
 
Default OpenModelica users wanting to have rpms?

Hi,

if you are an OpenModelica user, you might know that we do not have any
rpms available for fedora.
This might be due to the buildsystem.

I have started converting MetaModelica to autootols to boot-bootstrap
the omc build process.

See github.com/choeger/MetaModelica-autotools

Building the rml compiler and the related libraries was easy, but now I
could need some help and advice on how to build the testcases.
In the original buildsystem from
https://openmodelica.ida.liu.se/svn/MetaModelica there are some examples
with own makefiles, but those refer to the buildsystem itself.
I am not sure how to handle this with automake (obviously it would
require to build the compiler before the tests).
So currently I am wondering if the examples should have a build system
that requires the compiler to be installed, any thoughts?

On the other hand, there are some "style" questions, I'd like to be
answered:

This package builds three slightly different libraries in three differen
flavors: called (librml_plain|librml_mask|librml_diff)(_g|_p|).so
Those flavors only differ by the CFLAGS set upon compilation (_p means
-p, _g -g).
Upstream told me, they require them all, but would this be acceptable?

Is the name rml ok for a library in /usr/lib or shall I
use /usr/lib/rml/ by default? (Same for headers)

What with the name? Is MetaModelica even a good name, if the main binary
is rmlc?

The package builds a compiler driver, essentially a shell script, by
copying some configuration variables into a shell template (mainly how
to invoke cc). Would this be fine as a /usr/bin script?

Feel free to demand any changes, I will discuss this with upstream.

regards

Christoph
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 
Old 01-26-2010, 06:37 PM
Kevin Kofler
 
Default OpenModelica users wanting to have rpms?

Christoph Höger wrote:
> I have started converting MetaModelica to autootols to boot-bootstrap
> the omc build process.

May I suggest using CMake instead? It's easier to use, its new versions are
more backwards-compatible with older ones, it's more portable to other
(inferior ;-) ) operating systems, it doesn't require or expect you to ship
generated files in source tarballs, it supports nice features like progress
percentages, it's faster and it's successfully used in more and more
upstream projects, including all of KDE.

On the other hand, CMake would probably be less than helpful for the SML
parts, which comprise a significant portion of the codebase as far as I can
see, you'd have to work with add_custom_command which isn't that wonderful.
(For common languages like C/C++ and a few others, CMake does a lot of stuff
for you, but less common ones aren't really supported and you end up having
to write CMake commands equivalent to makefile rules.)

So each tool has its advantages and drawbacks.

> Building the rml compiler and the related libraries was easy, but now I
> could need some help and advice on how to build the testcases.
> In the original buildsystem from
> https://openmodelica.ida.liu.se/svn/MetaModelica there are some examples
> with own makefiles, but those refer to the buildsystem itself.
> I am not sure how to handle this with automake (obviously it would
> require to build the compiler before the tests).
> So currently I am wondering if the examples should have a build system
> that requires the compiler to be installed, any thoughts?

Normally testsuites can use the just-built compiler directly from the source
tree. Look at existing projects and how they handle this. As you're using
autotools, I guess GCC would be a good place to look.

> On the other hand, there are some "style" questions, I'd like to be
> answered:
>
> This package builds three slightly different libraries in three differen
> flavors: called (librml_plain|librml_mask|librml_diff)(_g|_p|).so
> Those flavors only differ by the CFLAGS set upon compilation (_p means
> -p, _g -g).
> Upstream told me, they require them all, but would this be acceptable?

Sure, I don't see why not. You just need to be careful when building (you
need to build the object files to different places so they don't conflict).

> Is the name rml ok for a library in /usr/lib or shall I
> use /usr/lib/rml/ by default? (Same for headers)

Hmmm, that's a bit at the limit, 3 letters are a bit short for a unique
name. :-( But there's no librml.so in Fedora yet as far as repoquery tells
me, so at least there's no current conflict. Let's see what others think.

> What with the name? Is MetaModelica even a good name, if the main binary
> is rmlc?

If that's the upstream project name (used in things like tarballs), it's
fine. (But is the MixedCase really necessary? :-( Usually things like
tarball and package names are all lowercase, but sometimes MixedCase is used
by upstream and the Fedora packages usually match that. Probably something
to discuss with upstream.)

> The package builds a compiler driver, essentially a shell script, by
> copying some configuration variables into a shell template (mainly how
> to invoke cc). Would this be fine as a /usr/bin script?

Yes, but beware of multilib conflicts: if that script is in the same package
as some libraries, that package will end up multilibbed due to the libraries
and if the script is not identical for 32-bit and 64-bit, there will be a
conflict between the 2 multilibbed packages. (Splitting out the libraries
into a -libs package is a way to work around that.)

Kevin Kofler

--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 
Old 01-28-2010, 05:32 PM
Christoph Höger
 
Default OpenModelica users wanting to have rpms?

Hi,

thanks for your reply.

> On the other hand, CMake would probably be less than helpful for the SML
> parts, which comprise a significant portion of the codebase as far as I can
> see, you'd have to work with add_custom_command which isn't that wonderful.
> (For common languages like C/C++ and a few others, CMake does a lot of stuff
> for you, but less common ones aren't really supported and you end up having
> to write CMake commands equivalent to makefile rules.)
>
> So each tool has its advantages and drawbacks.

Signed. Of course CMake was an alternative but since I already had
Makfiles as a base to start from...
Maybe I'll test out CMake too.

> Normally testsuites can use the just-built compiler directly from the source
> tree. Look at existing projects and how they handle this. As you're using
> autotools, I guess GCC would be a good place to look.

Ah, yeah. Thanks for the hint.

> Sure, I don't see why not. You just need to be careful when building (you
> need to build the object files to different places so they don't conflict).

That's one nice feature of automake. In fact the old buildsystem used
suffix rules (*.p.o *.g.o) to build different object files. Automake
handles this automagically.

> Hmmm, that's a bit at the limit, 3 letters are a bit short for a unique
> name. :-( But there's no librml.so in Fedora yet as far as repoquery tells
> me, so at least there's no current conflict. Let's see what others think.

> If that's the upstream project name (used in things like tarballs), it's
> fine. (But is the MixedCase really necessary? :-( Usually things like
> tarball and package names are all lowercase, but sometimes MixedCase is used
> by upstream and the Fedora packages usually match that. Probably something
> to discuss with upstream.)

I convinced upstream that a new name like rml-mm (for "rml with
metamodelica support" would be a good thing, so both problems will
probably be solved soon.

> > The package builds a compiler driver, essentially a shell script, by
> > copying some configuration variables into a shell template (mainly how
> > to invoke cc). Would this be fine as a /usr/bin script?
>
> Yes, but beware of multilib conflicts: if that script is in the same package
> as some libraries, that package will end up multilibbed due to the libraries
> and if the script is not identical for 32-bit and 64-bit, there will be a
> conflict between the 2 multilibbed packages. (Splitting out the libraries
> into a -libs package is a way to work around that.)

Since the compiler seems to run without the libs two (sub-)packages
might indeed be a good idea.


--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
 

Thread Tools




All times are GMT. The time now is 10:04 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2007 - 2008, www.linux-archive.org