Fix scintilla makefile.win32 path #243

Closed
wants to merge 4 commits into
from

Conversation

Projects
None yet
5 participants
@winterland1989

Geany is not able to build under MinGW on Windows 7, see more detials here:
https://sourceforge.net/p/geany/bugs/1001/?limit=25

After i moved makefile.win32 path as official scintilla repo and edit the content, building completed successfully.

winterland1989 and others added some commits Apr 22, 2014

winterland1989
Update makefile.win32
fix a small mistake
winterland1989
Add clean section and fix another typo...
Add clean section and fix another typo...
winterland1989
Add clean section and fix another typo...
Add clean section and fix another typo...
@elextr

This comment has been minimized.

Show comment Hide comment
@elextr

elextr Apr 22, 2014

Member

That makefile doesn't look like the current scintilla makefile in its gtk directory, are you sure you provided the right file?

Having hardcoded prefixes doesn't look right either, even though you took one out there is still a setting above it. Doesn't that value depend on where something is on the builders system?

Member

elextr commented Apr 22, 2014

That makefile doesn't look like the current scintilla makefile in its gtk directory, are you sure you provided the right file?

Having hardcoded prefixes doesn't look right either, even though you took one out there is still a setting above it. Doesn't that value depend on where something is on the builders system?

@winterland1989

This comment has been minimized.

Show comment Hide comment
@winterland1989

winterland1989 Apr 22, 2014

I just combine the makefile.win32 from geany's repo and makefile from scintilla's repo,
sorry for the hardcord PREFIXS, it'is a typo, i already fix it with other mistakes i made during test. Now it should be ready to use.

I just combine the makefile.win32 from geany's repo and makefile from scintilla's repo,
sorry for the hardcord PREFIXS, it'is a typo, i already fix it with other mistakes i made during test. Now it should be ready to use.

@elextr

This comment has been minimized.

Show comment Hide comment
@elextr

elextr Apr 22, 2014

Member

Will the official scintilla gtk makefile work on win32? It would be better to use it unchanged if it does, that way it will be maintained, and it seems to offer gtk3 support. AFAIK the Geany makefile.win32 and associated one in the scintilla directory are not officially maintained.

Member

elextr commented Apr 22, 2014

Will the official scintilla gtk makefile work on win32? It would be better to use it unchanged if it does, that way it will be maintained, and it seems to offer gtk3 support. AFAIK the Geany makefile.win32 and associated one in the scintilla directory are not officially maintained.

@winterland1989

This comment has been minimized.

Show comment Hide comment
@winterland1989

winterland1989 Apr 22, 2014

The official scintilla gtk makefile works after edit some content, but it add stuffs like clang support and gtk version detection which the original makefile.win32 doesn't have, while the main makefile.win32 under geany and other makefile.win32 under the other libs doesn't support these feature, i'm not sure if i should add this to scintilla.
At least let's fix the building problem first.

The official scintilla gtk makefile works after edit some content, but it add stuffs like clang support and gtk version detection which the original makefile.win32 doesn't have, while the main makefile.win32 under geany and other makefile.win32 under the other libs doesn't support these feature, i'm not sure if i should add this to scintilla.
At least let's fix the building problem first.

@elextr

This comment has been minimized.

Show comment Hide comment
@elextr

elextr Apr 22, 2014

Member

Well, since the top level makefile.win32 won't (at this point) support those options then they should not be invoked in scintilla makefile should they, even if they are there?

Just remember that if you put a custom makefile in scintilla you will have to check and update it when scintilla is updated, using the makefile from the scintilla repo can make that an automatic part of the scintilla update. Just trying to save you some work :)

I might add it probably would be even better if the autotools build supported building on mingw on windows, then there are only two build systems not three. And autotools is the primary supported build system.

Member

elextr commented Apr 22, 2014

Well, since the top level makefile.win32 won't (at this point) support those options then they should not be invoked in scintilla makefile should they, even if they are there?

Just remember that if you put a custom makefile in scintilla you will have to check and update it when scintilla is updated, using the makefile from the scintilla repo can make that an automatic part of the scintilla update. Just trying to save you some work :)

I might add it probably would be even better if the autotools build supported building on mingw on windows, then there are only two build systems not three. And autotools is the primary supported build system.

@codebrainz

This comment has been minimized.

Show comment Hide comment
@codebrainz

codebrainz Apr 22, 2014

Owner

Why not just fix the existing scintilla/makefile.win32 to work on Windows 7 as it does on Windows XP? What specific errors were you getting with it?

Owner

codebrainz commented Apr 22, 2014

Why not just fix the existing scintilla/makefile.win32 to work on Windows 7 as it does on Windows XP? What specific errors were you getting with it?

@winterland1989

This comment has been minimized.

Show comment Hide comment
@winterland1989

winterland1989 Apr 23, 2014

more detials on the error is here:
https://sourceforge.net/p/geany/bugs/1001/?limit=25

looks like PlatGTK.cxx cant find a reference in ScintillaGTK.cxx, i dont know how to fix it by editing existing scintilla/makefile.win32.

more detials on the error is here:
https://sourceforge.net/p/geany/bugs/1001/?limit=25

looks like PlatGTK.cxx cant find a reference in ScintillaGTK.cxx, i dont know how to fix it by editing existing scintilla/makefile.win32.

@elextr

This comment has been minimized.

Show comment Hide comment
@elextr

elextr Apr 24, 2014

Member

On 24 April 2014 01:31, winterland1989 notifications@github.com wrote:

more detials on the error is here:
https://sourceforge.net/p/geany/bugs/1001/?limit=25

looks like PlatGTK.cxx cant find a reference in ScintillaGTK.cxx, i dont
know how to fix it by editing existing scintilla/makefile.win32.

Because you moved the makefile its probably running the make in a different
place and so not finding the include directory with the header that defines
those macros.

Cheers
Lex


Reply to this email directly or view it on GitHubhttps://github.com/geany/geany/pull/243#issuecomment-41175507
.

Member

elextr commented Apr 24, 2014

On 24 April 2014 01:31, winterland1989 notifications@github.com wrote:

more detials on the error is here:
https://sourceforge.net/p/geany/bugs/1001/?limit=25

looks like PlatGTK.cxx cant find a reference in ScintillaGTK.cxx, i dont
know how to fix it by editing existing scintilla/makefile.win32.

Because you moved the makefile its probably running the make in a different
place and so not finding the include directory with the header that defines
those macros.

Cheers
Lex


Reply to this email directly or view it on GitHubhttps://github.com/geany/geany/pull/243#issuecomment-41175507
.

@winterland1989

This comment has been minimized.

Show comment Hide comment
@winterland1989

winterland1989 Apr 24, 2014

@elextr I dont understand what you're talking about, the error is generated before i move the makefile, it's the default makefile.win32 you provide that cant compile on windows 7, after i move it, i also edit it to make sure the include path is right.

@elextr I dont understand what you're talking about, the error is generated before i move the makefile, it's the default makefile.win32 you provide that cant compile on windows 7, after i move it, i also edit it to make sure the include path is right.

@codebrainz

This comment has been minimized.

Show comment Hide comment
@codebrainz

codebrainz Apr 24, 2014

Owner

more detials on the error is here:
https://sourceforge.net/p/geany/bugs/1001/?limit=25

Yeah, I read it. It's just that compiling on Windows using the
makefile.win32 files is completely non-trivial and it's unclear that
maybe there's isn't just some single Make var or something that needs to
be tweaked, or maybe you're (completely understandably) not setting
something right or running the right commands, etc. I think we should
find the real problem instead of replacing whole Make file with one from
Scintilla project's build system.

looks like PlatGTK.cxx cant find a reference in ScintillaGTK.cxx, i dont know how to fix it by editing existing scintilla/makefile.win32.

I just built Git head on Win7 using the current makefile.win32 files and
it compiles through fine. Are you sure you have everything setup
correctly? It's not like on Linux where you just run make, you have to
have all right dependencies in right places, environment vars setup
correctly, localwin32.mk file has to be setup correctly, etc.

Owner

codebrainz commented Apr 24, 2014

more detials on the error is here:
https://sourceforge.net/p/geany/bugs/1001/?limit=25

Yeah, I read it. It's just that compiling on Windows using the
makefile.win32 files is completely non-trivial and it's unclear that
maybe there's isn't just some single Make var or something that needs to
be tweaked, or maybe you're (completely understandably) not setting
something right or running the right commands, etc. I think we should
find the real problem instead of replacing whole Make file with one from
Scintilla project's build system.

looks like PlatGTK.cxx cant find a reference in ScintillaGTK.cxx, i dont know how to fix it by editing existing scintilla/makefile.win32.

I just built Git head on Win7 using the current makefile.win32 files and
it compiles through fine. Are you sure you have everything setup
correctly? It's not like on Linux where you just run make, you have to
have all right dependencies in right places, environment vars setup
correctly, localwin32.mk file has to be setup correctly, etc.

@winterland1989

This comment has been minimized.

Show comment Hide comment
@winterland1989

winterland1989 Apr 24, 2014

@codebrainz Thanks for testing, i setup all the libraries and localwin32.mk to point to the lib path, it maybe something wrong with my MinGW, i just download MinGW from sourceforge 3 days ago, and i found MinGW changed a lot : )
Since someone do compile with the same makefile.win32, i thought it's not a really issue. Meanwhile wait for someone make the autotools work under windows, that need lots of work.

@codebrainz Thanks for testing, i setup all the libraries and localwin32.mk to point to the lib path, it maybe something wrong with my MinGW, i just download MinGW from sourceforge 3 days ago, and i found MinGW changed a lot : )
Since someone do compile with the same makefile.win32, i thought it's not a really issue. Meanwhile wait for someone make the autotools work under windows, that need lots of work.

@eht16

This comment has been minimized.

Show comment Hide comment
@eht16

eht16 Apr 24, 2014

Owner

Being curious, I just built Geany from GIT master on Windows 7 64bit and it succeeded without any modifications.

I just set the following variables in localwin32.mk to match my system environment:

PATH = c:\libs\bin;c:\perl\c\bin;C:\libs\utils\usr\local\wbin
WINDRES = c:\perl\c\bin\windres.exe
CC = c:\perl\c\bin\gcc
CXX = c:\perl\c\bin\g++
AR = c:\perl\c\bin\ar
RANLIB = c:\perl\c\bin\ranlib

PREFIX = C:/libs

@winterland1989 maybe it is your Mingw setup that's causing the problems.
I'd suggest to install Perl from the Strawberry Perl distribution (http://strawberryperl.com/, choose 32bit) because it already includes a working Mingw bundle. This is what I used (already to create the official Windows release binaries).

Alternatively, I'd still suggest to use the Waf build system on Windows as it is just easy to use (ok, you need to install Python but this is very easy even on Windows).

Furthermore, since it seems the hand-written makefile.win32's seem to be working at least for Matthew and me, we probably should not change them with this PR.

I'm working on a fresh and up2date howto to build Geany on Windows, hope I'll finish it soon.

Owner

eht16 commented Apr 24, 2014

Being curious, I just built Geany from GIT master on Windows 7 64bit and it succeeded without any modifications.

I just set the following variables in localwin32.mk to match my system environment:

PATH = c:\libs\bin;c:\perl\c\bin;C:\libs\utils\usr\local\wbin
WINDRES = c:\perl\c\bin\windres.exe
CC = c:\perl\c\bin\gcc
CXX = c:\perl\c\bin\g++
AR = c:\perl\c\bin\ar
RANLIB = c:\perl\c\bin\ranlib

PREFIX = C:/libs

@winterland1989 maybe it is your Mingw setup that's causing the problems.
I'd suggest to install Perl from the Strawberry Perl distribution (http://strawberryperl.com/, choose 32bit) because it already includes a working Mingw bundle. This is what I used (already to create the official Windows release binaries).

Alternatively, I'd still suggest to use the Waf build system on Windows as it is just easy to use (ok, you need to install Python but this is very easy even on Windows).

Furthermore, since it seems the hand-written makefile.win32's seem to be working at least for Matthew and me, we probably should not change them with this PR.

I'm working on a fresh and up2date howto to build Geany on Windows, hope I'll finish it soon.

@codebrainz

This comment has been minimized.

Show comment Hide comment
@codebrainz

codebrainz May 4, 2014

Owner

Closing.

@winterland1989 Feel free to disagree and re-open or create another pull request.

Owner

codebrainz commented May 4, 2014

Closing.

@winterland1989 Feel free to disagree and re-open or create another pull request.

@codebrainz codebrainz closed this May 4, 2014

@ntrel

This comment has been minimized.

Show comment Hide comment
@ntrel

ntrel Jan 22, 2015

Owner

See: #408

Owner

ntrel commented Jan 22, 2015

See: #408

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment