summaryrefslogtreecommitdiff
path: root/binary/mingw/new-gcc-version
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2013-02-15 09:08:53 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2013-02-15 09:08:53 +0200
commit663a6689ba14a422cbc714d113b28dad731c44bf (patch)
tree716cc8b0bf3eb6e86826fdf3aa7ee34a51978763 /binary/mingw/new-gcc-version
parent340ee4f40791d16ab778a473788c1a0645b83993 (diff)
Rename file
Diffstat (limited to 'binary/mingw/new-gcc-version')
-rw-r--r--binary/mingw/new-gcc-version73
1 files changed, 0 insertions, 73 deletions
diff --git a/binary/mingw/new-gcc-version b/binary/mingw/new-gcc-version
deleted file mode 100644
index 6642589..0000000
--- a/binary/mingw/new-gcc-version
+++ /dev/null
@@ -1,73 +0,0 @@
-An overview of steps required to switch to a new GCC version.
-
-1. Get the MinGW build of this version and get configuration
- flags (gcc -v). The idea is to build both the cross-compiler
- and the native compiler (with linked-in ODB plugin) as close
- to the MinGW configuration as possible.
-
-2. Build the cross-compiler:
-
- 1. Backup old cross/mingw to cross/mingw-X.Y.Z.
- 2. Cleanup old GCC files from cross/mingw.
- 3. Unpack GCC, rename to gcc-cross, create or clean gcc-cross-build.
- 4. Adapt older gcc-X.Y.Z-mingw-cross.patch (--dry-run) and apply.
- 5. Adapt gcc-cross-configure.
- 6. Build & install:
-
- cd gcc-cross-build
- ../gcc-cross-configure
- make -j 16
- make install
-
- 7. Clean up .so & .la files from cross/mingw/lib/gcc/i686-mingw/X.Y.Z
- (we still seem to have to build with --enable-shared for exceptions
- to work).
- 8. Check that the compiler works. Compile and run sizeof_funds.cxx and
- throw.cxx. There should be no auto-importing (see step 7).
-
-3. Build the native compiler:
-
- 1. Unpack GCC, rename to gcc, create or clean gcc-build.
- 2. Adapt older gcc-X.Y.Z-mingw.patch (--dry-run) and apply.
- 3. Adapt older gcc-X.Y.Z-static-plugin.patch (--dry-run) and apply.
- This step will probably require careful review of changes in the
- plugin code (plugin.h and plugin.c).
- 4. Regegerate configure script in gcc/gcc/. Use the same autoconf
- version as in the original (see ~/build/autocond-X.Y). For example:
-
- sudo make -C ~/build/autoconf-2.64 install
- autoconf --version
- cd gcc
- autoconf
- sudo make -C ~/build/autoconf-2.64 uninstall
-
- 4. Adapt gcc-configure.
- 5. Configure and make GCC manually:
-
- export PATH=`pwd`/cross/mingw/bin:$PATH
- cd gcc-build
- ../gcc-configure
- make -j 16
-
- This step will fail due to lack of libplugin-stub.a. That's
- ok. Copy .h and .def files from gcc-build/gcc/ to gcc-headers/
- (backup old ones).
-
-4. Run the build-dist script with -rebuild
-
- 1. If GCC build fails, then it can be re-configured or re-made
- directly from the gcc-build directory provided you don't
- clean it up (if you do so, you can manually copy libplugin-stub.a
- to gcc-build/gcc/).
-
- 2. Check the package for any stray directories/files.
-
- 3. On Windows, check that:
-
- - Compiler, including exceptions, work. Compile and run sizeof_funds.cxx
- and throw.cxx.
-
- - Make sure ODB runs, including throwing exceptions (run on object
- with private data members).
-
-5. Copy updates/patches to odb/etc/.