I build Geany for both Windows and Linux. 2 reasons I build my own: 1) I like being current, and 2) I like (and need) column-mode editing and must apply my patch to scintilla to make that happen.
BUILDING ON WINDOWS I don't use cmd.exe. It just sucks. I use Cygwin for a LOT of my work. So... I have found a cumbersome way to build on Windows with Cygwin with MinGW compiler. I read the instructions on the Geany web site, and downloaded all the necessary libs etc. I have MinGW installed in a directory that preceeds cygwin on the Windows path. Then to build, I perform the following steps: 1) delete all deps.mak files. 2) set PREFIX=/cygdrive/d/<where the libs are> 3) run make on each of the 3 build directories - src, scintilla, and tagmanager. Make will fail on all three, after the deps.mak files are built. Can't use the drive letter with colon in the PREFIX, because that is a path separator and creates unusable deps.mak files.
4) change PREFIX to d:/<where the libs are>. (The drive letter colon is ok and, in fact, required now for MinGW compiler ). 5) re-run make -f makefile.win32 and Geany.exe results.
As I said, it is cumbersome, but it works. If there is a better/easier way, please let me know.
Geany rocks.
chuck
On Sun, 03 Jun 2007 15:17:18 -0700, chuck ctl@arrowtwins.com wrote:
I build Geany for both Windows and Linux. 2 reasons I build my own:
- I like being current, and
- I like (and need) column-mode editing and must apply my
patch to scintilla to make that happen.
Did you send this patch upstream? Maybe it will be applied.
BUILDING ON WINDOWS I don't use cmd.exe. It just sucks.
Yes it does ;-). But anyway, for a simple "make -f makefile.win32" it is sufficient. And since Windows 2000 it has at least a simple tab auto completion. And I recently noticed, that it can even do redirection of stdout and stderr with >file and 2>errorfile.
I use Cygwin for a LOT of my work. So... I have found a cumbersome way to build on Windows with Cygwin with MinGW compiler. I read the instructions on the Geany web site, and downloaded all the necessary libs etc. I have MinGW installed in a directory that preceeds cygwin on the Windows path. Then to build, I perform the following steps:
- delete all deps.mak files.
- set PREFIX=/cygdrive/d/<where the libs are>
- run make on each of the 3 build directories - src, scintilla,
and tagmanager. Make will fail on all three, after the deps.mak files are built. Can't use the drive letter with colon in the PREFIX, because that is a path separator and creates unusable deps.mak files.
- change PREFIX to d:/<where the libs are>. (The drive letter
colon is ok and, in fact, required now for MinGW compiler ). 5) re-run make -f makefile.win32 and Geany.exe results.
As I said, it is cumbersome, but it works. If there is a better/easier way, please let me know.
Indeed, this is not very nice. On my Windows system I also have cygwin installed and I have also some troubles when building Geany using MinGW with cygwin installed. For me, the easiest way is to rename my cygwin directory during compilation time. So, when I build Geany on Windows, I do: - rename c:\cygwin to c:\cygwin2 - build Geany (make -f makefile.win32) - rename c:\cygwin2 to c:\cygwin
My MinGW environment is installed as described on the website and completely independent of cygwin and I renamed the make of MinGW(IIRC called mingw32-make.exe) to make.exe just for comfort.
Another approach could be to build Geany completely inside cygwin. I did this some time ago and IIRC I didn't need to modify anything. Obviously, this would result in a binary which depends on the cygwin dlls.
Regards, Enrico
On Mon, 4 Jun 2007 16:00:21 +0200, Enrico Tröger enrico.troeger@uvena.de wrote:
As I said, it is cumbersome, but it works. If there is a better/easier way, please let me know.
Indeed, this is not very nice. On my Windows system I also have cygwin installed and I have also some troubles when building Geany using MinGW with cygwin installed. For me, the easiest way is to rename my cygwin directory during compilation time. So, when I build Geany on Windows, I do:
- rename c:\cygwin to c:\cygwin2
- build Geany (make -f makefile.win32)
- rename c:\cygwin2 to c:\cygwin
Of course, this can be automated in a batch file. Or you can write a batch file which sets your PATH environment variable to the same as your usual PATH but without the cygwin directory.
Regards, Enrico
Yes, I sent the patch in, but the response I got from Scintilla was:
"There's no visual indication that there is a multiline caret."
which is true because a zero-width rectangle has no border showing that it exists. If a selection rectangle had a border... I haven't had time to look into that yet. But for me, since I just made the selection, when I type I know what to expect, and any motion key stops the process cleanly.
Anyway, As a result I must do it myself. If there were enough people interested (I have some threads from other projects where people want the function) maybe a case could be made to Scintilla to include it anyway?
If you want to check it out, go to http://www.arrowtwins.com and look for the Editor.cxx link.
chuck
ps. Thanks for the cygwin tips.
Enrico Tröger wrote:
On Sun, 03 Jun 2007 15:17:18 -0700, chuck ctl@arrowtwins.com wrote:
I build Geany for both Windows and Linux. 2 reasons I build my own:
- I like being current, and
- I like (and need) column-mode editing and must apply my
patch to scintilla to make that happen.
Did you send this patch upstream? Maybe it will be applied.