Reorganize the 3rd party libraries update HOWTO more logically
Put steps in the chronological order. Also put library-specific instructions in the same section, but in different subsections instead of combining 2 of them in one section and having a separate section for another one as before.
This commit is contained in:
@@ -33,36 +33,21 @@ commit from master into `wx`, e.g.
|
||||
$ git checkout wx
|
||||
$ git merge R_x_y_z # For the latest x.y.z release
|
||||
|
||||
After resolving any conflicts, commit the result, test the build under MSW and
|
||||
under Unix using `--disable-sys-libs` configure option, and push the updated
|
||||
branch out. Notice that you may want to use the ssh GitHub repository URL
|
||||
instead of the default (because more convenient for checking them out) HTTPS
|
||||
one:
|
||||
|
||||
$ git push --set-upstream git@github.com:wxWidgets/libexpat.git wx
|
||||
After resolving any conflicts, commit the result.
|
||||
|
||||
|
||||
Generating build files (libexpat, libtiff)
|
||||
------------------------------------------
|
||||
Special instructions for specific libraries
|
||||
-------------------------------------------
|
||||
|
||||
We include the generated build files of libexpat and libtiff. For libexpat run
|
||||
`buildconf.sh`. For libtiff run `autogen.sh`. Commit the changes.
|
||||
Some libraries, notably those for which we store the generated build files in
|
||||
our submodules, require extra actions to be undertaken after merging with the
|
||||
upstream:
|
||||
|
||||
## libexpat
|
||||
|
||||
Updating the main repository
|
||||
----------------------------
|
||||
Run `buildconf.sh` to update the generated files and commit the changes.
|
||||
|
||||
If there are any changes to the source files used by the library, update the
|
||||
corresponding `build/bakefiles/$lib.bkl` file (e.g. `expat.bkl` for Expat) and
|
||||
rerun bakefile to regenerate most of the makefiles and project files. Currently
|
||||
you will need to update `build/msw/wx_wx$lib.vcxproj{,.filters}` files
|
||||
manually.
|
||||
|
||||
Commit these changes and the submodule and create a PR to test them as usual.
|
||||
|
||||
|
||||
Special instructions for libpng
|
||||
-------------------------------
|
||||
## libpng
|
||||
|
||||
We use a special hack for libpng as we want to prefix all its symbols with
|
||||
`wx_` but don't want to use its build system which makes this easily possible
|
||||
@@ -81,3 +66,37 @@ subdirectory of the wxWidgets source tree, overwriting the versions there.
|
||||
Notice that config.h generated by libpng configure is not used, we build it
|
||||
without `-DHAVE_CONFIG_H` as it works just fine without it on any ANSI C system
|
||||
(i.e. anywhere by now).
|
||||
|
||||
## libtiff
|
||||
|
||||
Run `autogen.sh` to update the generated files and commit the changes.
|
||||
|
||||
|
||||
Updating the main repository
|
||||
----------------------------
|
||||
|
||||
If there are any changes to the source files used by the library, update the
|
||||
corresponding `build/bakefiles/$lib.bkl` file (e.g. `expat.bkl` for Expat) and
|
||||
rerun bakefile to regenerate most of the makefiles and project files. Currently
|
||||
you will need to update `build/msw/wx_wx$lib.vcxproj{,.filters}` files
|
||||
manually.
|
||||
|
||||
Commit these changes and the changes to the submodule itself, but don't push
|
||||
them to GitHub yet.
|
||||
|
||||
|
||||
Test and push
|
||||
-------------
|
||||
|
||||
The updates need to be tested under MSW and under Unix using
|
||||
`--disable-sys-libs` configure option.
|
||||
|
||||
If everything seems to work, push the updated branch out. Notice that you may
|
||||
want to use the ssh GitHub repository URL instead of the default (because more
|
||||
convenient for checking them out) HTTPS one:
|
||||
|
||||
$ git push --set-upstream git@github.com:wxWidgets/libexpat.git wx
|
||||
|
||||
|
||||
Finally, create a PR to let the CI builds to run and test changes too. If no
|
||||
problems are found, merge the PR as usual.
|
||||
|
||||
Reference in New Issue
Block a user