diff --git a/docs/contributing/how-to-update-third-party-library.md b/docs/contributing/how-to-update-third-party-library.md index 472baa68aa..8695aec6e4 100644 --- a/docs/contributing/how-to-update-third-party-library.md +++ b/docs/contributing/how-to-update-third-party-library.md @@ -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.