Page 1 of 1
I am planning on doing Git PR
Posted: Fri May 28, 2021 9:34 am
by stahta01
I am planning on doing Git pull-request (PR) and I wish to confirm that it is best to do either dos2unix or unix2dos followed by clang-format before doing the changes I wish to do. The clang-format does a lot of changes that are hard to follow sometimes.
I have found that windows .rc files should be using CRLF; and, so far most everything else should be just LF.
I plan to do two commits for each set of changes.
- The reformatting using dos2unix or unix2dos followed by clang-format
- The code fix/change
That should allow you to see the real code change and since it is a PR you should be able to condense the two commits into one.
I hope that is easy to do; I am not sure if it is easy.
I am working on three tasks in CodeLite
Fixing minor wxWidget Windows code issues like the adding of "wx/msw/wrapwin.h" to reduce possible problems and warning like "Please include winsock2.h before windows.h".
Getting an MSys2 codelite package to build using wxWidgets 3.1.5 or newer. It is having linking issues related to DLL import/export naming.
Improving wxconfig.exe
Tim S.
Re: I am planning on doing Git PR
Posted: Fri May 28, 2021 10:45 am
by eranif
LF line ending (UNIX style). All files should be formatted using our .clang-format
file, something like:
Code: Select all
clang-format --style=file -i /path/to/source.cpp
Q: what is the wxWidgets build method you are using to build wx on MSYS2? I tried that (1-2 years ago) and it failed using the configure
and the cmake
methods
I would be interested in building wxWidgets on MSYS2
Re: I am planning on doing Git PR
Posted: Fri May 28, 2021 8:16 pm
by stahta01
eranif wrote: ↑Fri May 28, 2021 10:45 am
LF line ending (UNIX style). All files should be formatted using our .clang-format
file, something like:
Code: Select all
clang-format --style=file -i /path/to/source.cpp
I did like the above; but, without "--style=file" option; I will redo with that.
Are you saying you want all text files to use "LF"?
I am asking because the Windows resource files are mixed LF and CRLF and I want to fix three of them.
I was thinking doing the wxWidgets get repo way of using CRLF in Windows resource files (*.rc).
But your post stongly suggests you want LF for all text file.
eranif wrote: ↑Fri May 28, 2021 10:45 am
Q: what is the wxWidgets build method you are using to build wx on MSYS2? I tried that (1-2 years ago) and it failed using the configure
and the cmake
methods
I would be interested in building wxWidgets on MSYS2
I am trying to create an MSys2 package file (PKGBUILD) that uses your codelite git repo and MSys2 wxWidgets 3.1 package.
It fails because of an long linking error; it looks to be an DLL import/export naming issue.
Looks like an library missing from link command. I just found the build line that likely showing the problem.
Code: Select all
cd /C/Users/stahta01/devel/MINGW-packages-dev/mingw-w64-codelite-git/src/build-x86_64-w64-mingw32/LiteEditor && /C/building/msys64/mingw64/bin/g++.exe -march=x86-64 -mtune=generic -O2 -pipe -ggdb -Og -fdebug-prefix-map=/c/Users/stahta01/devel/MINGW-packages-dev/mingw-w64-codelite-git/src=/usr/src/debug -Wno-deprecated-declarations -std=gnu++11 -g -O0 -fpermissive -pipe -Wl,--dynamicbase,--high-entropy-va,--nxcompat,--default-image-base-high -Wl,--whole-archive CMakeFiles/codelite.dir/objects.a -Wl,--no-whole-archive -o ../bin/codelite.exe -Wl,--out-implib,../lib/libcodelite.dll.a -Wl,--major-image-version,0,--minor-image-version,0 -LC:/building/msys64/mingw64/lib -pipe -Wl,--dynamicbase,--high-entropy-va,--nxcompat,--default-image-base-high -Wl,--subsystem,windows -mwindows -lwx_mswu_aui-3.1 -lwx_baseu-3.1 -lwx_mswu_core-3.1 -lwx_mswu_html-3.1 -lwx_mswu_propgrid-3.1 -lwx_baseu_xml-3.1 -lwx_mswu_xrc-3.1 -lwx_baseu_net-3.1 -lwx_mswu_stc-3.1 -lwx_mswu_ribbon-3.1 -lwx_mswu_richtext-3.1 -L"C:/Users/stahta01/devel/MINGW-packages-dev/mingw-w64-codelite-git/src/build-x86_64-w64-mingw32/lib" ../lib/libplugin.dll.a ../lib/libcodelite.dll.a ../lib/libwxsqlite3.dll.a -LC:/building/msys64/mingw64/lib -pipe -Wl,--dynamicbase,--high-entropy-va,--nxcompat,--default-image-base-high -Wl,--subsystem,windows -mwindows -L"C:/Users/stahta01/devel/MINGW-packages-dev/mingw-w64-codelite-git/src/build-x86_64-w64-mingw32/lib" -lsqlite3 -lssh -lws2_32 -luchardet -luxtheme -lwx_mswu_aui-3.1 -lwx_baseu-3.1 -lwx_mswu_core-3.1 -lwx_mswu_html-3.1 -lwx_mswu_propgrid-3.1 -lwx_baseu_xml-3.1 -lwx_mswu_xrc-3.1 -lwx_baseu_net-3.1 -lwx_mswu_stc-3.1 -lwx_mswu_ribbon-3.1 -lwx_mswu_richtext-3.1 -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32
The creation of the exe is overwriting the import library for the DLL.
Now, I need to see if it is a patch I wrote or the MSys2 people wrote or an cmake issue in your repo.
Edit: It looks to be a patch the MSys2 people wrote; I will skip the patch and see where it errors out.
Tim S.
Re: I am planning on doing Git PR
Posted: Sat May 29, 2021 8:51 am
by eranif
All new files should have LF
. (the --style=file
means to use the settings from the .clang-format
file )
I have no problems with fixing the line endings in the resource files (they are rarely touched)
Re: I am planning on doing Git PR
Posted: Sun May 30, 2021 2:08 am
by stahta01
clang-format does a very poor job on the CMakeLists.txt files; so, I will only be doing dos2unix on them.
I have still not gotten CodeLite (Git repo) MSYs2 package to build using wxWidgets 3.1.5; but, I am making progress.
Tim S.
Re: I am planning on doing Git PR
Posted: Sun May 30, 2021 6:11 pm
by stahta01
I have gotten CodeLite (Git repo) MSYs2 package to build using wxWidgets 3.1.5;
I am now skipping patches that I believe is not needed to get a good build.
I did a simple cmake PR https://github.com/eranif/codelite/pull/2743 that fixes two old problems and the new one that was triggered by building with wxWidgets 3.1.5. I have no idea how wxWidgets triggered this build/link error.
My next PR is going to be on the 4 windows RC files that give duplicate value warnings.
Tim S.
Re: I am planning on doing Git PR
Posted: Mon May 31, 2021 10:42 am
by eranif
thanks. will check this.
FYI: because you brought this up, I played with MYS2 installation of wxWidgets and I saw (I was not aware of that) that they provide mingw64 compiler + wxWidgets builds (3.1.3) that can be used from simple CMD terminal.
The problem is that the wx-config that they provide is bash script that can not work with the CMD terminal (it also does not support --rcflags
)
The wx-config that comes with CodeLite can not work MSYS2 installation of wxWidgets (different layout etc)
So I wrote a new wx-config-msys2
executable which basically allows you to use CodeLite + MSYS2 installation of wxWidgets
https://github.com/eranif/wx-config-msys2
Re: I am planning on doing Git PR
Posted: Mon May 31, 2021 5:47 pm
by stahta01
Link to my CodeLite MSys2 Package https://github.com/stahta01/MINGW-packa ... delite-git
Edit: Add direct link to build file https://github.com/stahta01/MINGW-packa ... t/PKGBUILD
I will look at the wx-config-msys2 repo. Thank you for it.
Tim S.