SciTE4AutoHotkey
SciTE4AutoHotkey copied to clipboard
BUILD INSTRUCTIONS ARE OUT OF DATE
I am unable to build the latest commit.
The following refers to the build instructions in SciTE4AutoHotkey/README.MD and in SciTE4AutoHotkey/scipatches/README.MD
-
I suspect the prerquisites to build SciTE4AutoHotkey are not complete. The instructions state that msys2 with clang64-toolchain plus git, and mercurial are prerequisites.
Other packages including base-devel, make, patch, and mingw-w64-i686-toolchain may be required. -
The scintilla and scite cloning instructions are cloning the current version (532) instead of the reported build version 5.2.2.
-
The patch files cannot be accessed by the current instructions. It appears that the files in the scipatch folder need to be copied from SciTE4AutoHotkey/scipatches to the primary folder
-
Scintilla.dll and lexilla.dll appear to build correctly. The SciTE.exe build locks up at the make CLANG=1 command. HERE IS THE MSYS2 CLANG SHELL INPUT AND OUTPUT: ===================================================== CLANG64 /d/_GITMSYS2/SCITE4AHK $ cd scite/win32 && make CLANG=1 -d && cd ../bin && strip *.exe *.dll && cd ../.. GNU Make 4.4 Built for x86_64-pc-msys Copyright (C) 1988-2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later https://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Reading makefiles... Reading makefile 'makefile'... ==============================================
HERE ARE THE LASTEST AND ALMOST WORKING SET OF BUILD INSTRUCTIONS:
OBTAIN MSYS2 Obtain msys2 from https://msys2.org/ and install it using all default recommendations. This will install MSYS2 in "C:\msys64".
NOTES: - FOR SUBSEQUENT LINES BEGINNING WITH "○", THE TEXT AFTER THE "○" SHOULD BE ENTERED ON THE SHELL COMMAND LINE. - Use cut and pasted to avoid typos
*Open the "MSYS2 MSYS" shell from the Start menu:
UPDATE MSYS2:
○ pacman -Syuu
NOTE: The above line will update msys2. Repeat this step until there are no more packages to update.
(ref: https://www.msys2.org/wiki/MSYS2-installation/)
○ pacman -S --needed bash pacman pacman-mirrors msys2-runtime
- Answer "y" to all requests.
*Exit and restart MSYS2
○ pacman -Su
* Repeat the above step until there is nothing to update and nothing to do.
* Restart the MSYS2 MSYS shell and repeat the above command until there is nothing to update and nothing to do.
PREPARE MSYS2 development environment (NOTE THERE IS SOMETHING MISSING HERE) ○ pacman -S base-devel git make mercurial patch ○ pacman -S mingw-w64-i686-toolchain mingw-w64-clang-x86_64-toolchain - Consider pacman -S cvs wget p7zip (ref: https://wiki.qt.io/MSYS2)
*Close "MSYS2 MSYS" shell.
NOTE: The "MSYS2 CLANG64" shell will be used for all of the remaining command lines.
*Open the MSYS2 CLANG64 shell
GETTING THE SOURCE AND PATCHING IT:
Make a repository directory to work in
- Make the repository directory. FORMAT: mkdir /
_--- (I used "○ mkdir /d/GITMSYS2/SCITE4AHK")
- Change to the repository directory. FORMAT: cd /
_--- (I used "○ cd /d/GITMSYS2/SCITE4AHK")
Clone data to the repository directory
○ git clone --recursive https://github.com/fincs/SciTE4AutoHotkey
○ hg clone http://hg.code.sf.net/p/scintilla/code -u rel-5-2-2 scintilla (MODIFIED)
○ git clone https://github.com/ScintillaOrg/lexilla -b rel-5-1-6 lexilla
○ hg clone http://hg.code.sf.net/p/scintilla/scite -u rel-5-2-2 scite (MODIFIED)
Copy patch data to base directory (THIS STEP WAS NOT IN THE README.MD BUT SEEMED THE MOST LOGICAL)
○ cp SciTE4AutoHotkey/scipatches/. ./
Patch the code
○ cd scintilla && hg update rel-5-2-2 && cd ..
○ cd lexilla && git apply ../lexilla.diff && cd ..
○ cd scite && hg update rel-5-2-2 && hg import --no-commit ../scite.diff && cd ..
Copy the icon
○ cp SciTE4AutoHotkey.ico scite/win32/
**BUILDING THE COMPONENTS:**
○ cd scintilla/win32 && make CLANG=1 && cd ../..
○ cd lexilla/src && make CLANG=1 && cd ../..
○ cd scite/win32 && make CLANG=1 -d && cd ../bin && strip *.exe *.dll && cd ../..
(THE ABOVE LINE IS WHERE THE BUILD CURRENTLY FAILS)
**MOVING THE COMPONENTS:** _(THIS IS ALL NEW)_
**Rename old files to be replaced in working directory:**
○ cd "/c/Program Files/AutoHotkey/SciTE"
○ rename Scintilla.dll Scintilla.dll.old
○ rename lexilla.dll lexilla.dll.old
○ rename SciTE.exe SciTE.exe.old
**Copy new files to working directory**
**NOTE:** "/d/_GITMSYS2/SCITE4AHK" below is my repository. Yours might be different.
_(See: Make a repository ... above)_
○ cp /d/_GITMSYS2/SCITE4AHK/scintilla/bin/Scintilla.dll ./
○ cp /d/_GITMSYS2/SCITE4AHK/lexilla/bin/lexilla.dll ./
○ cp /d/_GITMSYS2/SCITE4AHK/scite/bin/SciTE.exe ./
**Finally copy the latest AutoHotkey Unicode 32-bit binary into the same folder as InternalAHK.exe.**
○ rename InternalAHK.exe InternalAHK.exe.old
○ cp "/c/Program Files/AutoHotkey/AutoHotkeyU32.exe" ./
*Close "MSYS2 CLANG64" shell and run the updated SciTE4AutoHotkey. You can revert to the old version by deleting the transferred files and renaming the .old files.