Update version number and strings in configure.in.
VERSION="2.8" VER_MAJOR=2 VER_MINOR=8 VER_REVISION=0 VER_DEV=0 REL_STRING="Build from GitHub snapshot on March 10, 2024"In the README file you have to update version number and date. Add some information about new features if necessary.
Bochs x86 Pentium+ Emulator Updated: Sun Mar 10 08:00:00 CET 2024 Version: 2.8In the file bochs.manifest you have to update the version number for the Windows build.
version="2.8.0.0"
Check date, update/sumup info in CHANGES. Run autoconf to regenerate configure and check them in. The next step is to create a GIT tag that contains all files of the revision that was used in the release. Go to the main page of the Bochs repository on GitHub. To the right of the list of files, click on the Releases link. These are the next steps:
Click on Draft a new release
Click on Choose a tag and create a new one called REL_2_8_FINAL
Fill in the release title Bochs 2.8
Use the top of the CHANGES file (brief summary of changes) as the description
Select Set as latest release
Finally click on Publish release
Source packages are automatically created (see below). After building the binary packages you can edit the release and add them with drag&drop.
After creating the GitHub release it automatically provides source files in ZIP and TAR.GZ format. These files are the base for all official release packages. For release version 2.8 the file name is Bochs-REL_2_8_FINAL.tar.gz. Unpack this file as shown in the example and pack it the file name format we usually use. These steps can be done both on Linux and Windows (Cygwin).
tar --strip-components=1 -xvzf Bochs-REL_2_8_FINAL.tar.gz Bochs-REL_2_8_FINAL/bochs mv bochs bochs-2.8 tar czvf bochs-2.8.tar.gz bochs-2.8The source TAR file bochs-2.8.tar.gz is ready for upload.
The RPM will be building using the configuration in .conf.linux with a few parameters from build/redhat/make-rpm. Make any last minute changes to .conf.linux. Any changes will go into the source RPM. The DLX Linux demo package will be downloaded from the Bochs website to the Bochs root directory if it is not already present there.
./build/redhat/make-rpm | tee ../build.txtThis produces two rpm files in the current directory. Test and upload (see below).
These instructions require cygwin or mingw32/mingw64 to prepare the sources and MSVC++ to build the binaries. Use the Bochs sources from a GIT clone or unpack the release TAR file from above.
In Cygwin or mingw32/mingw64:
sh .conf.win32-vcpp # runs configure make win32_snap # unzip workspace, make a win32 source ZIPThe source ZIP is present in the parent directory of the Bochs root and now ready for upload. To build the binary package, copy it to a Windows machine, if necessary.
Open up Visual C++ and load the workspace file Bochs.sln. Check the Build:Set Active Project Configuration is set the way you want it. For releases I use "x64 Release".
To create "bochsdbg.exe" with Bochs debugger support, manually change these lines in config.h to turn on the debugger and the enhanced debugger gui.
#define BX_DEBUGGER 1 #define BX_DEBUGGER_GUI 1One of the optimization features must be turned off, since it is currently not compatible with the debugger.
#define BX_SUPPORT_HANDLERS_CHAINING_SPEEDUPS 0VC++ will rebuild Bochs with debugger and overwrite bochs.exe. To avoid trashing the non-debug version, move it out of the way while the debugger version is being built. Then rename the debugger version to bochsdbg.exe.
cd obj-release mv bochs.exe bochs-normal.exe (build again with BX_DEBUGGER=1 this time) mv bochs.exe bochsdbg.exe mv bochs-normal.exe bochs.exe
Do make install_win32 into the NSIS folder in the Bochs source tree:
make install_win32 INSTDIR=./build/win32/nsis/bochs-2.8This downloads and unpacks both the DLX Linux demo and the HTML docs from the Bochs website, copies all the files into ./build/win32/nsis/bochs-2.8 and then creates a binary ZIP file in the NSIS folder.
Now make the NSIS installer package (the current script is known to work with NSIS 3.09)
cd build/win32/nsis makeThat gives an installer called Bochs-win64-2.8.exe. Test and upload it.
When you are ready with creating release packages you have to upload them using the SF file manager feature. Create a subdirectory with the version number in the bochs directory. Point the download destination to the new directory and start uploading packages. The top of the CHANGES file should be used as the release notes. After setting up the file properties the new release is ready for download.
After having all files set up in the download area, don't forget to post an announcement containing a brief summary of changes to the bochs-announce mailing list and the "Project News" section on SF.