On 2012-09-19 10:30, suzuki toshiya wrote:

> [...snip...]
> Ahh, I see. I will try.
>> Using autoconf for Cygwin/MSVC is pretty common in my (albeit limited) 
>> experience. You can refer to various libs to see this for yourself. An 
>> example is lib ICU, which has a "CYGWIN/MSVC" option in its configure 
>> file.
>
> I don't think ICU is good example, but anyway I will try some libraries
> using genuine autoconf only.
I may be able to save you the trouble of testing further with cygwin
bash / MSVC unless you truly want to see how it works. In that case, I
can provide you with a test batch file that will automatically setup
your environment for MSVC 2008 or 2010, download, and compile a number
of libraries including ICONV, ICU, BOOST, ZLIB, PNG, POSTGRESQL, TIFF,
LIBPROJ, GEOTIFF, LIBXML2, PIXMAN, CAIRO, SIGC++, SQLITE, EXPAT, JPEG,
and JPEG-Turbo (all Mapnik dependencies). Probably can do a whole lot
more that were pyspatialite dependencies as well, but there's a lot of
crossover here. Note - with ICU, I don't use the custom
./runConfigureICU file, but the standard ./configure, which TMK is
genuine autoconf. I could be wrong; it's happened once or twice. ;-)
>> To reiterate, I'm *NOT* running make in bash, but at the Windows CMD 
>> shell prompt, which is not the same as what you were indicating with 
>> "configure && make && make install". That may be where the 
>> miscommunication is coming from here.
>
> Oh! Thank you very much for clarification, yes, I had overlooked that
> "make" was executed out of bash. I've never tried such.

As for saving you the trouble of testing altogether, as I further read
and better understood the INSTALL.GNU and CUSTOMIZE docs and did a
little further testing, I saw why "make setup ..." was auto-detecting as
unix every time. If I remove cygwin from my path statement first, it
then defaults to the dos/windows setup, which is an improvement.
Unfortunately, something else is now failing...

process_begin: CreateProcess(NULL, type builds\newline, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [dos_setup] Error 2

So now I need to figure out why that is. It might have to do with the
code to replace unix-style forward slashes with dos/windows-style
backslashes. I'll look into this further then see how the compile goes
once it's actually detecting a Win OS rather than unix.

Additionally, I noted that freetype/builds/detect.mk is using a very
klugy workaround for echoing newlines to the console. Instead of using
this ...

@type builds$(SEP)newline

With an empty newline file, it's much easier just to use this...

@echo:

Same result, no fuss, no muss. Batch file magic. ;-)

Regards,

-RMWChaos

>
>>
>>
>>>
>>>> -RMWChaos
>>>>
>>>> On 2012-09-18 12:01, suzuki toshiya wrote:
>>>>> Today I don't have my machine with MSVC in my hand...
>>>>> I think "make setup visualc" is not designed for the combination
>>>>> of Cygwin bash/make + MSVC. It would be suitable for MinGW make + MSVC.
>>>>>
>>>>> The binaries you want to build are those running on Windows
>>>>> platform WITHOUT cygwin? Or, those running DEPENDING cygwin?
>>>>> Cygwin is designed to pretend as if it were Unix platform,
>>>>> so configure will be (mis)guided as if it finds the platform
>>>>> as Unix.
>>>>>
>>>>>>     bash ./configure %FLAGS%
>>>>>>     make
>>>>>>     make install
>>>>>>
>>>>>> For most packages, this is working well; however, I'm really 
>>>>>> struggling
>>>>> Without giving concrete example, I could not comment about
>>>>> whether this (configure && make && make install) is right
>>>>> direction, because, I'm not sure which binary (with cygwin?
>>>>> without cygwin?) you want. What kind of packages you could
>>>>> get expected result?
>>>>>
>>>>> Regards,
>>>>> mpsuzuki
>>>>>
>>>>>
>>>>> RMWChaos wrote:
>>>>>> *ENVIRONMENT:*
>>>>>> MS Windows 7 x64
>>>>>> MSVC 2008 / SDK 7.0 -or- 2010 / SDK 7.1
>>>>>> Cygwin bash
>>>>>> GNU make 3.8.1
>>>>>>
>>>>>>
>>>>>> *PREAMBLE:*
>>>>>> Ultimately, this might turn out to be one build 'bug' and one build
>>>>>> feature 'enhancement / change request', and perhaps I should submit 
>>>>>> this
>>>>>> as two separate issues; however, they both relate to the same 
>>>>>> problem: I
>>>>>> can't get Freetype2 to compile in Windows 7 x64 using Cygwin / GNU 
>>>>>> Make
>>>>>> / MSVC 2008 or 2010. I'll wait to see what some initial responses are
>>>>>> before deciding how to proceed.
>>>>>>
>>>>>> I'm attempting to develop an automated build process for a Windows
>>>>>> application that requires the Freetype2 lib. The automated build 
>>>>>> allows
>>>>>> for the selection of x86 / x64, MSVC 2008 / 2010, static / shared 
>>>>>> libs,
>>>>>> and other options. To accommodate these options and simplify the build
>>>>>> process, I want to build all libs using the following steps, where all
>>>>>> the chosen build options are stored in var FLAGS...
>>>>>>
>>>>>>     bash ./configure %FLAGS%
>>>>>>     make
>>>>>>     make install
>>>>>>
>>>>>> For most packages, this is working well; however, I'm really 
>>>>>> struggling
>>>>>> with Freetype2. As noted in the two problem descriptions below, these
>>>>>> steps aren't working because the Freetype2 configure and makefiles
>>>>>> appear to be using absolute paths rather than relative paths (if I can
>>>>>> modify this one thing, I can get my preferred method above to work).
>>>>>>
>>>>>> Alternatively, running 'make setup visualc' is defaulting to unix 
>>>>>> rather
>>>>>> than win32/visualc, and thus fails when it can't find a 'visualc' 
>>>>>> target
>>>>>> in the unix makefile. Am I doing something wrong here by running "make
>>>>>> setup visualc" from the Freetype source directory, or has this 
>>>>>> something
>>>>>> to do with having a Win x64 OS or using Cygwin bash?
>>>>>>
>>>>>> I'm unable to use the MSVC/SDK command line "vcbuild" tool with the
>>>>>> freetype.sln/vcproj files in this case due to the need to allow for 
>>>>>> the
>>>>>> numerous possible build combinations. So the solution to either of the
>>>>>> following problems below will likely resolve the issue for me.
>>>>>> Preferably, I'd like to get a solution to problem #2 and change the
>>>>>> Freetype2 configure and makefiles to use relative- rather than 
>>>>>> absolute
>>>>>> paths during the build process. Perhaps someone can explain to me the
>>>>>> choice to use absolute- over relative paths?
>>>>>>
>>>>>>
>>>>>> *PROBLEM #1:*
>>>>>> Running "make setup visualc", setup still detects as unix-based OS and
>>>>>> CC compiler rather than Win32 and CL compiler - although, configure
>>>>>> reports ' checking for cc...no' and 'checking for cl ... cl.exe' - and
>>>>>> eventually fails with the message "make: *** No rule to make target
>>>>>> `visualc'. Stop.". Is this because I've got a Win64 OS and am using
>>>>>> Cygwin bash?
>>>>>>
>>>>>> The unix build process doesn't have a visualc build process - duh, 
>>>>>> it's
>>>>>> unix, not Windows - and the detect process is seeing my system as unix
>>>>>> rather than win32 even when I pass the visualc option to make 
>>>>>> setup. So
>>>>>> I'm stumped here. How do I force the make setup process to detect as
>>>>>> win32 rather than unix? I suspect I need to follow the CUSTOMIZE
>>>>>> instructions, but I would think that the setup detect process would 
>>>>>> see
>>>>>> my system as windows rather than unix.
>>>>>>
>>>>>>
>>>>>> *PROBLEM #2:*
>>>>>> The configure process for Freetype2 is using absolute paths rather 
>>>>>> than
>>>>>> relative paths. This is a problem as ./configure is run in Cygwin 
>>>>>> bash,
>>>>>> where paths are in the format "/cygdrive/c/..." but GNU Make is run 
>>>>>> in a
>>>>>> Win CMD shell, where paths are in the format "C:\...". Ultimately, 
>>>>>> when
>>>>>> GNU make is called, after ./configure completes, it fails immediately
>>>>>> because it sees the absolute path
>>>>>> '/cygdrive/c/.../freetype/src/base/ftsystem.c' as a switch (the 
>>>>>> initial
>>>>>> forward slash) rather than as a path, which would fail anyway under
>>>>>> Windows CMD shell. If instead there was a relative path
>>>>>> 'src/base/ftsystem.c', things should work properly. Even running GNU
>>>>>> make under Cygwin, it still fails seeing the path as a switch because
>>>>>> it's not wrapped in quotes.
>>>>>>
>>>>>> Need an "easy" way to convert configure to utilize relative paths so
>>>>>> that it assumes it's running in the source base directory 
>>>>>> 'freetype' and
>>>>>> everything else is accessed via './src/base', etc. I've passed the
>>>>>> CFG="--srcdir=." option to make setup as well as "--srcdir=." to
>>>>>> ./configure, but that didn't appear to work. I've also manually 
>>>>>> changed
>>>>>> 'abs_curr_dir' var in configure to '.' and './' but neither of those
>>>>>> worked either.
>>>>>>
>>>>>> Thanks and regards,
>>>>>>
>>>>>> -RMWChaos
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------ 
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Freetype-devel mailing list
>>>>>> Freetype-devel@nongnu.org
>>>>>> https://lists.nongnu.org/mailman/listinfo/freetype-devel
>>>>>
>>>
>>
>
>

_______________________________________________
Freetype-devel mailing list
Freetype-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/freetype-devel

Reply via email to