Building an Non-Unicode Win32 Code::Blocks
Prerequisites
Working Code::Blocks
Code::Blocks Source Code
Non-Unicode build of wxWidgets
GnuWin32 sed.exe
http://gnuwin32.sourceforge.net/packages.html
Needed files
sed script file and batch files
ANSI.sed
s/<Variable name="WX_SUFFIX" value="u" \/>/<Variable name="WX_SUFFIX" value="" \/>/g s/<Add option="-DwxUSE_UNICODE" \/>$/<Add option="-DwxUSE_UNICODE=0" \/>$/g s/<Add option="-DwxUSE_UNICODE=1" \/>$/<Add option="-DwxUSE_UNICODE=0" \/>$/g
sed-ANSI-out.bat
setlocal REM Set to the folder containing the SED script set SEDFOLDER=%CD% REM Set to the sed script file name set SEDFILE=ANSI.sed REM set to the Top Code::Blocks folder set CBFOLDER=%CD%\codeblocks cd %CBFOLDER%\src sed --separate --file=%SEDFOLDER%\%SEDFILE% CodeBlocks.cbp > CodeBlocks-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\AutoVersioning sed --separate --file=%SEDFOLDER%\%SEDFILE% AutoVersioning.cbp > AutoVersioning-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\BrowseTracker sed --separate --file=%SEDFOLDER%\%SEDFILE% BrowseTracker.cbp > BrowseTracker-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\byogames sed --separate --file=%SEDFOLDER%\%SEDFILE% byogames.cbp > byogames-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\cb_koders sed --separate --file=%SEDFOLDER%\%SEDFILE% cb_koders.cbp > cb_koders-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\codesnippets sed --separate --file=%SEDFOLDER%\%SEDFILE% codesnippets.cbp > codesnippets-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\codestat sed --separate --file=%SEDFOLDER%\%SEDFILE% codestat.cbp > codestat-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\copystrings sed --separate --file=%SEDFOLDER%\%SEDFILE% copystrings.cbp > copystrings-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\devpak_plugin sed --separate --file=%SEDFOLDER%\%SEDFILE% DevPakPlugin.cbp > DevPakPlugin-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\dragscroll sed --separate --file=%SEDFOLDER%\%SEDFILE% dragscroll.cbp > dragscroll-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\envvars sed --separate --file=%SEDFOLDER%\%SEDFILE% envvars.cbp > envvars-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\headerfixup sed --separate --file=%SEDFOLDER%\%SEDFILE% headerfixup.cbp > headerfixup-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\help_plugin sed --separate --file=%SEDFOLDER%\%SEDFILE% help-plugin.cbp > help-plugin-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\keybinder sed --separate --file=%SEDFOLDER%\%SEDFILE% keybinder.cbp > keybinder-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\lib_finder sed --separate --file=%SEDFOLDER%\%SEDFILE% lib_finder.cbp > lib_finder-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\profiler sed --separate --file=%SEDFOLDER%\%SEDFILE% cbprofiler.cbp > cbprofiler-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\regex_testbed sed --separate --file=%SEDFOLDER%\%SEDFILE% RegExTestbed.cbp > RegExTestbed-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\source_exporter sed --separate --file=%SEDFOLDER%\%SEDFILE% Exporter.cbp > Exporter-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\symtab sed --separate --file=%SEDFOLDER%\%SEDFILE% symtab.cbp > symtab-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\ThreadSearch sed --separate --file=%SEDFOLDER%\%SEDFILE% ThreadSearch.cbp > ThreadSearch-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\wxSmith sed --separate --file=%SEDFOLDER%\%SEDFILE% wxSmith.cbp > wxSmith-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\wxSmithContribItems sed --separate --file=%SEDFOLDER%\%SEDFILE% wxSmithContribItems.cbp > wxSmithContribItems-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\HexEditor sed --separate --file=%SEDFOLDER%\%SEDFILE% HexEditor.cbp > HexEditor-ANSI.cbp cd %CBFOLDER%\src\plugins\codecompletion sed --separate --file=%SEDFOLDER%\%SEDFILE% cctest.cbp > cctest-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\wxContribItems sed --separate --file=%SEDFOLDER%\%SEDFILE% wxContribItems.cbp > wxContribItems-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\wxSmithAui sed --separate --file=%SEDFOLDER%\%SEDFILE% wxSmithAui.cbp > wxSmithAui-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\Cccc sed --separate --file=%SEDFOLDER%\%SEDFILE% Cccc.cbp > Cccc-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\CppCheck sed --separate --file=%SEDFOLDER%\%SEDFILE% CppCheck.cbp > CppCheck-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\Cscope sed --separate --file=%SEDFOLDER%\%SEDFILE% Cscope.cbp > Cscope-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\DoxyBlocks sed --separate --file=%SEDFOLDER%\%SEDFILE% DoxyBlocks.cbp > DoxyBlocks-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\EditorConfig sed --separate --file=%SEDFOLDER%\%SEDFILE% EditorConfig.cbp > EditorConfig-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\EditorTweaks sed --separate --file=%SEDFOLDER%\%SEDFILE% EditorTweaks.cbp > EditorTweaks-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\FileManager sed --separate --file=%SEDFOLDER%\%SEDFILE% FileManager.cbp > FileManager-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\FortranProject sed --separate --file=%SEDFOLDER%\%SEDFILE% FortranProject_cbsvn.cbp > FortranProject_cbsvn-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\IncrementalSearch sed --separate --file=%SEDFOLDER%\%SEDFILE% IncrementalSearch.cbp > IncrementalSearch-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\MouseSap sed --separate --file=%SEDFOLDER%\%SEDFILE% MouseSap.cbp > MouseSap-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\NassiShneiderman sed --separate --file=%SEDFOLDER%\%SEDFILE% NassiShneiderman.cbp > NassiShneiderman-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\ReopenEditor sed --separate --file=%SEDFOLDER%\%SEDFILE% ReopenEditor.cbp > ReopenEditor-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\rndgen sed --separate --file=%SEDFOLDER%\%SEDFILE% rndgen.cbp > rndgen-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\SmartIndent sed --separate --file=%SEDFOLDER%\%SEDFILE% SmartIndent.cbp > SmartIndent-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\SpellChecker sed --separate --file=%SEDFOLDER%\%SEDFILE% SpellChecker.cbp > SpellChecker-ANSI.cbp cd %CBFOLDER%\src\plugins\contrib\ToolsPlus sed --separate --file=%SEDFOLDER%\%SEDFILE% ToolsPlus.cbp > ToolsPlus-ANSI.cbp cd %CBFOLDER%\src\tools\cb_share_config sed --separate --file=%SEDFOLDER%\%SEDFILE% cb_share_config.cbp > cb_share_config-ANSI.cbp cd %CBFOLDER%\src\tools\CBLauncher sed --separate --file=%SEDFOLDER%\%SEDFILE% CBLauncher.cbp > CBLauncher-ANSI.cbp cd %CBFOLDER%\src\tools\Addr2LineUI sed --separate --file=%SEDFOLDER%\%SEDFILE% Addr2LineUI.cbp > Addr2LineUI-ANSI.cbp PAUSE
Code::Blocks workspace file for Non-Unicode Build
ContribPlugins-ANSI.workspace
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_workspace_file>
<Workspace title="All contrib plugins">
<Project filename="tools/cb_share_config/cb_share_config-ANSI.cbp" />
<Project filename="tools/CBLauncher/CbLauncher-ANSI.cbp" />
<Project filename="tools/Addr2LineUI/Addr2LineUI-ANSI.cbp" />
<Project filename="plugins/codecompletion/cctest-ANSI.cbp" />
<Project filename="plugins/contrib/wxContribItems/wxContribItems-ANSI.cbp" />
<Project filename="plugins/contrib/wxSmith/wxSmith-ANSI.cbp" />
<Project filename="plugins/contrib/wxSmithContribItems/wxSmithContribItems-ANSI.cbp">
<Depends filename="plugins/contrib/lib_finder/lib_finder-ANSI.cbp" />
<Depends filename="plugins/contrib/wxSmith/wxSmith-ANSI.cbp" />
</Project>
<Project filename="plugins/contrib/wxSmithAui/wxSmithAui-ANSI.cbp">
<Depends filename="plugins/contrib/wxSmith/wxSmith-ANSI.cbp" />
</Project>
<Project filename="plugins/contrib/AutoVersioning/AutoVersioning-ANSI.cbp" active="1" />
<Project filename="plugins/contrib/BrowseTracker/BrowseTracker-ANSI.cbp" />
<Project filename="plugins/contrib/byogames/byogames-ANSI.cbp" />
<Project filename="plugins/contrib/cb_koders/cb_koders-ANSI.cbp" />
<Project filename="plugins/contrib/Cccc/Cccc-ANSI.cbp" />
<Project filename="plugins/contrib/codesnippets/codesnippets-ANSI.cbp" />
<Project filename="plugins/contrib/codestat/codestat-ANSI.cbp" />
<Project filename="plugins/contrib/copystrings/copystrings-ANSI.cbp" />
<Project filename="plugins/contrib/CppCheck/CppCheck-ANSI.cbp" />
<Project filename="plugins/contrib/Cscope/Cscope-ANSI.cbp" />
<Project filename="plugins/contrib/devpak_plugin/DevPakPlugin-ANSI.cbp" />
<Project filename="plugins/contrib/DoxyBlocks/DoxyBlocks-ANSI.cbp" />
<Project filename="plugins/contrib/dragscroll/dragscroll-ANSI.cbp" />
<Project filename="plugins/contrib/EditorConfig/EditorConfig-ANSI.cbp" />
<Project filename="plugins/contrib/EditorTweaks/EditorTweaks-ANSI.cbp" />
<Project filename="plugins/contrib/envvars/envvars-ANSI.cbp" />
<Project filename="plugins/contrib/FileManager/FileManager-ANSI.cbp" />
<Project filename="plugins/contrib/FortranProject/FortranProject_cbsvn-ANSI.cbp" />
<Project filename="plugins/contrib/headerfixup/headerfixup-ANSI.cbp" />
<Project filename="plugins/contrib/help_plugin/help-plugin-ANSI.cbp" />
<Project filename="plugins/contrib/HexEditor/HexEditor-ANSI.cbp" />
<Project filename="plugins/contrib/IncrementalSearch/IncrementalSearch-ANSI.cbp" />
<Project filename="plugins/contrib/keybinder/keybinder-ANSI.cbp" />
<Project filename="plugins/contrib/lib_finder/lib_finder-ANSI.cbp">
<Depends filename="plugins/contrib/wxContribItems/wxContribItems-ANSI.cbp" />
</Project>
<Project filename="plugins/contrib/MouseSap/MouseSap-ANSI.cbp" />
<Project filename="plugins/contrib/NassiShneiderman/NassiShneiderman-ANSI.cbp" />
<Project filename="plugins/contrib/profiler/cbprofiler-ANSI.cbp" />
<Project filename="plugins/contrib/regex_testbed/RegExTestbed-ANSI.cbp" />
<Project filename="plugins/contrib/ReopenEditor/ReopenEditor-ANSI.cbp" />
<Project filename="plugins/contrib/rndgen/rndgen-ANSI.cbp" />
<Project filename="plugins/contrib/SmartIndent/SmartIndent-ANSI.cbp" />
<Project filename="plugins/contrib/source_exporter/Exporter-ANSI.cbp" />
<Project filename="plugins/contrib/SpellChecker/SpellChecker-ANSI.cbp" />
<Project filename="plugins/contrib/symtab/symtab-ANSI.cbp" />
<Project filename="plugins/contrib/ThreadSearch/ThreadSearch-ANSI.cbp">
<Depends filename="plugins/contrib/wxContribItems/wxContribItems-ANSI.cbp" />
</Project>
<Project filename="plugins/contrib/ToolsPlus/ToolsPlus-ANSI.cbp" />
</Workspace>
</CodeBlocks_workspace_file>
Steps to modify Code::Blocks projects for Non-Unicode Build
Save the ANSI.sed script file to the folder above or in the Code::Blocks source.
- I save mine above the codeblocks folder that contains the Code::Blocks source.
Save the sed-ANSI-out.bat batch file to the folder above or in the Code::Blocks source
Edit the sed-ANSI-out.bat batch file so SEDFOLDER and CBFOLDER are set right
- SEDFOLDER needs to be the full path to the folder holding ANSI.sed script file.
- CBFOLDER needs to be the full path to the folder holding the Code::Blocks source.
Save the ContribPlugins-ANSI.workspace workspace file
- Save it in the folder that contains ContribPlugins.workspace normally the src folder.
Run the sed-ANSI-out.bat batch file
Use Codeblocks to Compile the project and workspace
- Compile CodeBlocks-ANSI.cbp
- Compile ContribPlugins-ANSI.workspace
Post Questions to this forum thread
- /index.php/topic,9258.msg66095.html#msg66095