Skip to content

Conversation

@jwt27
Copy link

@jwt27 jwt27 commented Jan 23, 2018

Hey there, I've been hacking your build scripts a bit. The most notable improvements in this branch are:

  • No longer download and build mpc/mpfr/gmp libraries separately. Instead we can use a script contrib/download_prerequisites in the gcc source tree.
  • Checkpoints added to build system, skipping over some parts which have already been built/configured. This allows a user to resume when errors occur, and also avoids rebuilding binutils when installing a different version of gcc.
  • Modular build scripts. The entire build process is handled by script/build.sh. Version name scripts (script/*.*.*) now only contain some version-specific variables. This should make it easier to support new gcc versions when they are released, fix bugs, and add new features.
  • New variables MAKE_JOBS and GCC_CONFIGURE_OPTIONS allow a user to run multi-threaded builds, and pass custom options to gcc's ./configure.

Some additional testing will likely be required. For example I don't know if tar -a is supported on all platforms. There may be more issues I'm unaware of.

I've also made various other minor changes and fixes. Please see the commit log and let me know what you think.

@jwt27
Copy link
Author

jwt27 commented Feb 1, 2018

I just pushed some more updates. The build script now allows you to specify which components and versions to install or upgrade. I also added support for building gdb.
So for example, to build gcc version 7.1 with the latest binutils and gdb, you would use:
./build-djgpp.sh base binutils gcc-7.1.0 gdb

To just install the latest version of everything, you can use:
./build-djgpp.sh all

Let me know what you think.

@jwt27
Copy link
Author

jwt27 commented Feb 3, 2018

I pushed another update on a new branch: tar. This branch builds GNU tar if it's not installed, so we can unpack all files with -a and no longer need to patch unpack-gcc.sh for OSX.
This will need to be tested by someone on OSX since I'm unable to build tar on my mingw system.

@lhzdem
Copy link

lhzdem commented Nov 23, 2019

谢谢

jwt27 added 26 commits February 10, 2020 20:26
This reverts commit 93bfe4e.

Revert "install info/man files in target directory too."

This reverts commit 648ba9d.
for compatibility with other distributions which are compiled with target=i586-pc-msdosdjgpp.
Workaround for #46.
This has never been used, and doing this in CI is impractical.
And apply the patch to djgpp-2.05 too.
fixes: #46
It doesn't exist anymore, and is no longer needed now that gdb 16 works with
djgpp.
The bundled zlib versions fail to build on MacOS with clang >= 18.

ref: https://gitlab.kitware.com/cmake/cmake/-/issues/25755
They changed their whole build system, will have to look into that.
This makes way too much noise when the compiler is not yet installed.

ref: #51
Also applied to djgpp-cvs.
fixes: #51 (but better)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants