freemint / mintbin

The programs in this package are necessary as a supplement to the GNU binutils for MiNT.
GNU General Public License v2.0
2 stars 3 forks source link

Update configure.in to work with newer versions: #1

Closed th-otto closed 6 years ago

th-otto commented 7 years ago
th-otto commented 7 years ago

To be done: the intl stuff is extremely old (from 1999 or so). It's possible to update it to newer versions of gettext, but that is quite some work. Since there is only one translation, and the default build uses --disable-nls anyway, i would suggest to remove that completely.

mikrosk commented 7 years ago

Oh, nice! I see you've changed the build script a little, in that case you could remove that CC= nonsense, now it works nicely with plain ./configure --target=m68k-atari-mint.

Btw, maybe this whole package doesn't make sense anymore. As mentioned in the email linked in freemint/mintlib#5, maybe it makes sense to include those last two remaining useful tools (strip and stack) to mintlib, similar as it contains tzinit (maybe others, lazy to check). So you wouldn't need any configure stuff at all.

mikrosk commented 7 years ago

Btw there's one annoying feature which only makes life miserable :) -- the script tries to mimic gcc/binutils folder hierarchy way too much.

So when you're cross compiling, you'll get:

<prefix>/bin/m68k-atari-mint-strip
<prefix>/m68k-atari-mint/bin/strip

while on native build you'll get:

<prefix>/bin/strip
<prefix>/m68k-atari-mint/bin/strip

Totally useless, only makes packaging difficult. Now I see I failed to do it properly in build.sh so we're providing the m68k-atari-mint-* versions in bin, damn it.

th-otto commented 7 years ago

Btw, maybe this whole package doesn't make sense anymore.

Theoretically, yes. The functionality of the flags utility eg. is integrated in binutils. There are still packages though that call it explicitly after linking, including freemint. And the cnm utility is able to extract DRI style symbols (although it then prints them in some non-standard format).

Totally useless, only makes packaging difficult

That's absolutely not useless. It is the hierarchy cross-utilities are looked up when you just say host=m68k-atari-mint without putting \<prefix>/m68k-atari-mint/bin/ on your path. Doing that would prevent you from also compiling native tools during the build, like freemint eg. does. Ideally the ones in \<prefix>/m68k-atari-mint/bin/ should be relative symlinks, though

mikrosk commented 7 years ago

The functionality of the flags utility eg. is integrated in binutils.

It is? So you can set, say, the fast ram flag from binutils?

It is the hierarchy cross-utilities are looked up

Ah, right. I totally forgot that you can specify the "-s" option for stripping binaries so binutils must know about strip at least.

th-otto commented 7 years ago

It is? So you can set, say, the fast ram flag from binutils?

Yes, with -Wl,--mprg-flags,7 for example. There are even specific flags like --m[no-]altram, PS. there is also an option --stack so you can also set the stacksize in the linke command. Another option is to just use a global _stksize variable in your program.

The tools might still be useful though because a) it allows users to run them without the need to recompile anything and b) to display those values. In makefiles, i would prefer to specify the flags rather then calling an extra program.

mikrosk commented 6 years ago

@th-otto just a reminder, you are now free to commit this :)