From: <gof...@us...> - 2007-11-05 17:04:25
|
Revision: 4173 http://octave.svn.sourceforge.net/octave/?rev=4173&view=rev Author: goffioul Date: 2007-11-05 09:04:27 -0800 (Mon, 05 Nov 2007) Log Message: ----------- add f2c-based fortran compiler for MSVC system Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/configure.vc trunk/octave-forge/admin/Windows/msvc/mkoctfile.cc.in Added Paths: ----------- trunk/octave-forge/admin/Windows/msvc/fc-msvc.cc Modified: trunk/octave-forge/admin/Windows/msvc/configure.vc =================================================================== --- trunk/octave-forge/admin/Windows/msvc/configure.vc 2007-11-05 13:44:41 UTC (rev 4172) +++ trunk/octave-forge/admin/Windows/msvc/configure.vc 2007-11-05 17:04:27 UTC (rev 4173) @@ -23,6 +23,6 @@ esac PATH=$OCTAVE_ROOT/bin:$PATH \ - CC=cc-msvc CXX=cc-msvc AR=ar-msvc RANLIB=ranlib-msvc \ + CC=cc-msvc CXX=cc-msvc AR=ar-msvc RANLIB=ranlib-msvc F77=fc-msvc \ ./configure --build=i686-pc-msdosmsvc --prefix=$OCTAVE_ROOT \ --with-path=$OCTAVE_ROOT/share/octave/packages Added: trunk/octave-forge/admin/Windows/msvc/fc-msvc.cc =================================================================== --- trunk/octave-forge/admin/Windows/msvc/fc-msvc.cc (rev 0) +++ trunk/octave-forge/admin/Windows/msvc/fc-msvc.cc 2007-11-05 17:04:27 UTC (rev 4173) @@ -0,0 +1,480 @@ +/* + * Copyright (C) 2007 Michael Goffioul + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * ========================================================================= + * + * This code is a C translation of the fort77 package available from + * ftp://sunsite.unc.edu/pub/Linux/devel/lang + * + */ + +#include <stdlib.h> +#include <pcre.h> +#include <list> +#include <string> +#include <stdarg.h> +#ifdef _MSC_VER +#include <io.h> +#define access _access +#define unlink _unlink +#endif + +using namespace std; + +static bool verbose = false; + +void exit_with_error(const char *msg, ...) +{ + va_list ap; + + va_start(ap, msg); + vfprintf(stderr, msg, ap); + va_end(ap); + fprintf(stderr, "\n"); + exit(-1); +} + +void verbose_msg(const char *msg, ...) +{ + if (verbose) + { + va_list ap; + va_start(ap, msg); + vfprintf(stderr, msg, ap); + va_end(ap); + } +} + +string parsewx(const string& wx) +{ + int pos = wx.find(','); + if (pos != string::npos) + return wx.substr(pos+1); + return wx; +} + +bool match(const char *pattern, const char *str, int len) +{ + const char *errmsg; + int erroffset; + pcre *re = pcre_compile(pattern, 0, &errmsg, &erroffset, NULL); + int rc; + + if (re == NULL) + exit_with_error("internal error: invalid regular expression - %s: %s", pattern, errmsg); + rc = pcre_exec(re, NULL, str, strlen(str), 0, 0, NULL, 0); + pcre_free(re); + return (rc >= 0); +} + +bool match(const char *pattern, const string& str) +{ + return match(pattern, &str[0], str.length()); +} + +void check_file_read(const string& filename) +{ + if (access(filename.c_str(), 4) != 0) + exit_with_error("Cannot open ", filename.c_str()); +} + +string get_basename(const string& filename) +{ + int p1 = filename.rfind('.'); + int p2 = filename.rfind('/'), p3 = filename.rfind('\\'); + + if (p3 < p2) + p2 = p3; + if (p2 == string::npos) + return filename.substr(0, p1); + else + return filename.substr(p2, p1-p2-1); +} + +string quote(const string& s) +{ + if (s.find(' ') != string::npos) + return "\"" + s + "\""; + else + return s; +} + +int do_system(const string& cmd) +{ + if (verbose) + fprintf(stderr, "Running: %s\n", cmd.c_str()); + return system(cmd.c_str()); +} + +int do_system(const list<string>& args) +{ + string cmd; + + for (list<string>::const_iterator it = args.begin(); it != args.end(); ++it) + { + if (!cmd.empty()) + cmd += " "; + cmd += quote(*it); + } + return do_system(cmd); +} + +string join(const string& sep, const list<string>& l) +{ + string result; + + for (list<string>::const_iterator it = l.begin(); it != l.end(); ++it) + { + if (!result.empty()) + result += sep; + result += *it; + } + return result; +} + +void list_append(list<string>& dest, const list<string>& src) +{ + for (list<string>::const_iterator it = src.begin(); it != src.end(); ++it) + dest.push_back(*it); +} + +string get_env_var(char *name, char *defval) +{ + char *result = getenv(name); + if (!result || strlen(result) == 0) + result = defval; + return string(result); +} + +int main (int argc, char **_argv) +{ + list<string> copts, fopts, lopts, cppopts, pfiles, argv, includes; + string nnflag = "-Nn802", output, cc = get_env_var("CC", "cc-msvc"); + bool extract_prototypes = false, cpp = false, debug = false, optimize = false, compile_only = false; + bool keep_c = false; + int retcode; + + for (int i=1; i<argc; i++) + { + char *carg = _argv[i]; + int len = strlen(carg); + string arg(carg); + +#define MATCH(p) match(p, carg, len) + + if (!MATCH("^-")) + { + if (MATCH("\\.P$")) + pfiles.push_back(arg); + else + argv.push_back(arg); + continue; + } + + // f2c options + + if (MATCH("^-[CUuaEhRrz]$") || MATCH("^-I[24]$") || MATCH("^-onetrip$") || MATCH("^-![clPR]$") || + MATCH("^-ext$") || MATCH("^-!bs$") || MATCH("^-W[1-9][0-9]*$") || MATCH("^-w8$") || MATCH("^-w66$") || + MATCH("^-r8$") || MATCH("^-N[^n][0-9]+$")) + { + fopts.push_back(arg); + } + else if (MATCH("^-Nn[0-9]+$")) + { + nnflag = arg; + } + else if (MATCH("^-Ps?")) + { + extract_prototypes = true; + fopts.push_back(arg); + } + else if (MATCH("^-cpp$")) + { + cpp = true; + } + else if (MATCH("^-w$")) + { + fopts.push_back(arg); + copts.push_back(arg); + } + else if (MATCH("^-g$")) + { + fopts.push_back(arg); + copts.push_back(arg); + lopts.push_back(arg); + debug = true; + } + else if (MATCH("^-Wf,")) + { + fopts.push_back(parsewx(arg)); + } + else if (MATCH("^-Wp,")) + { + cppopts.push_back(parsewx(arg)); + } + else if (MATCH("^-W[ca],")) + { + copts.push_back(parsewx(arg)); + } + else if (MATCH("^-Wl,")) + { + lopts.push_back(parsewx(arg)); + } + else if (MATCH("^-f$")) + { + fopts.push_back(arg); + } + else if (MATCH("^-[fWUAm]") || MATCH("^-[Ex]$") || MATCH("^-pipe$")) + { + copts.push_back(arg); + } + else if (MATCH("^-I$")) + { + if (i >= (argc-1)) + exit_with_error("%s: missing argument to -I", _argv[0]); + includes.push_back("-I" + string(_argv[++i])); + } + else if (MATCH("^-I.")) + { + includes.push_back(arg); + } + else if (MATCH("^-o$")) + { + if (i >= (argc-1)) + exit_with_error("%s: missing argument to -o", _argv[0]); + output = _argv[++i]; + } + else if (MATCH("-o.")) + { + output = arg.substr(2);; + } + else if (MATCH("^-O")) + { + copts.push_back(arg); + lopts.push_back(arg); + optimize = true; + } + else if (MATCH("^-[Og]") || MATCH("^-p$") || MATCH("^-pg$")) + { + copts.push_back(arg); + lopts.push_back(arg); + } + else if (MATCH("^-[bV]$")) + { + if (i >= (argc-1)) + exit_with_error("%s: missing argument to %s", _argv[0], carg); + string narg = _argv[++i]; + copts.push_back(arg); + copts.push_back(narg); + lopts.push_back(arg); + lopts.push_back(narg); + } + else if (MATCH("^-[bV].")) + { + copts.push_back(arg); + lopts.push_back(arg); + } + else if (MATCH("-[lL]$")) + { + if (i >= (argc-1)) + exit_with_error("%s: missing argument to %s", _argv[0], carg); + lopts.push_back(arg); + lopts.push_back(string(_argv[++i])); + } + else if (MATCH("^-[lL].") || MATCH("^-nostartfiles$") || MATCH("^-static$") || MATCH("^-shared$") || MATCH("^-symbolic$")) + { + lopts.push_back(arg); + } + else if (MATCH("^-[cS]$")) + { + compile_only = true; + } + else if (MATCH("^-D")) + { + cppopts.push_back(arg); + } + else if (MATCH("^-v$")) + { + verbose = true; + } + else if (MATCH("^-k$")) + { + keep_c = true; + } + else + { + copts.push_back(arg); + } + } + + fopts.push_back(nnflag); + for (list<string>::const_iterator it = includes.begin(); it != includes.end(); ++it) + { + cppopts.push_back(*it); + fopts.push_back(*it); + } + fopts.push_back("-I."); + for (list<string>::const_iterator it = pfiles.begin(); it != pfiles.end(); ++it) + fopts.push_back(*it); +#ifdef _MSC_VER + copts.push_back("-MD"); + lopts.push_back("-subsystem:console"); +#endif + + if (compile_only && !output.empty() && argv.size() > 1) + { + fprintf(stderr, "%s: warning: -c and -o with multiple files, ignoring -o\n", _argv[0]); + output = ""; + } + + if (argv.size() == 0) + exit_with_error("%s: no input file specified", _argv[0]); + + list<string> lfiles, gener_lfiles; + int seq = 0; + + for (list<string>::const_iterator it = argv.begin(); it != argv.end(); ++it) + { + string ffile, cfile, lfile, basefile, debugcmd; + string arg = *it; +#undef MATCH +#define MATCH(p) match(p, arg) + + if (MATCH("\\.[fF]$")) + { + ffile = arg; + basefile = ffile; + } + else if (MATCH("\\.[cCisSm]$") || MATCH("\\.cc$") || MATCH("\\.cxx$")) + { + cfile = arg; + basefile = cfile; + } + else + { + lfiles.push_back(arg); + } + + seq++; + + if (!ffile.empty()) + { + check_file_read(ffile); + if (keep_c) + cfile = get_basename(ffile) + ".c"; + else + cfile = "fc-msvc-tmp.c"; + + if (cpp || match("\\.F$", ffile)) + { + // TODO? + } + else + { + printf("%s\n", ffile.c_str()); + retcode = do_system("f2c " + join(" ", fopts) + " < " + ffile + " > " + cfile); + } + + if (retcode != 0 && !keep_c) + { + verbose_msg("%s: unlinking %s\n", _argv[0], cfile.c_str()); + unlink(cfile.c_str()); + exit_with_error("%s: aborting compilation", _argv[0]); + } + + if (extract_prototypes) + { + // TODO? + } + } + + if (!cfile.empty()) + { + list<string> command; + + command.push_back(cc); + list_append(command, cppopts); + list_append(command, copts); + if (compile_only && !output.empty()) + { + command.push_back("-o"); + command.push_back(output); + command.push_back("-c"); + } + else + { + lfile = get_basename(basefile) + ".o"; + command.push_back("-o"); + command.push_back(lfile); + command.push_back("-c"); + } + command.push_back(cfile); + retcode = do_system(command); + + if (retcode != 0) + { + verbose_msg("%s: unlinking %s\n", _argv[0], cfile.c_str()); + unlink(cfile.c_str()); + exit_with_error("%s: aborting compilation", _argv[0]); + } + if (!ffile.empty() && !keep_c) + { + verbose_msg("%s: unlinking %s\n", _argv[0], cfile.c_str()); + unlink(cfile.c_str()); + } + if (!lfile.empty()) + { + gener_lfiles.push_back(lfile); + lfiles.push_back(lfile); + lfile = ""; + } + } + + if (!lfile.empty()) + lfiles.push_back(lfile); + } + + if (!compile_only) + { + list<string> command; + + command.push_back(cc); + if (!output.empty()) + { + command.push_back("-o"); + command.push_back(output); + } + list_append(command, lfiles); + list_append(command, lopts); + command.push_back("-lf2c"); +#ifndef _MSC_VER + command_push_back("-lm"); +#endif + retcode = do_system(command); + + if (gener_lfiles.size() > 0) + { + verbose_msg("%s: unlinking %s\n", _argv[0], join(",", gener_lfiles).c_str()); + for (list<string>::const_iterator it = gener_lfiles.begin(); it != gener_lfiles.end(); ++it) + unlink((*it).c_str()); + } + + return retcode; + } + + return 0; +} Modified: trunk/octave-forge/admin/Windows/msvc/mkoctfile.cc.in =================================================================== --- trunk/octave-forge/admin/Windows/msvc/mkoctfile.cc.in 2007-11-05 13:44:41 UTC (rev 4172) +++ trunk/octave-forge/admin/Windows/msvc/mkoctfile.cc.in 2007-11-05 17:04:27 UTC (rev 4173) @@ -578,7 +578,7 @@ for (it=f77files.begin(); it!=f77files.end(); ++it) { string f = *it, b = basename(f); - if (!vars["F2C"].empty()) + if (!vars["F2C"].empty() && vars["F2C"] != "@F2C@") { string c = b + ".c"; cfiles.push_back(c); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2007-11-05 17:18:56
|
Revision: 4174 http://octave.svn.sourceforge.net/octave/?rev=4174&view=rev Author: goffioul Date: 2007-11-05 09:19:00 -0800 (Mon, 05 Nov 2007) Log Message: ----------- add f2c-based fortran compiler for MSVC system Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/README trunk/octave-forge/admin/Windows/msvc/README.txt.in trunk/octave-forge/admin/Windows/msvc/atlascpu.ini trunk/octave-forge/admin/Windows/msvc/forge_autoload.ini trunk/octave-forge/admin/Windows/msvc/graphics.ini trunk/octave-forge/admin/Windows/msvc/matlab.properties.octave trunk/octave-forge/admin/Windows/msvc/octave-sources.nsi trunk/octave-forge/admin/Windows/msvc/octave.nsi trunk/octave-forge/admin/Windows/msvc/octave.nsi.in trunk/octave-forge/admin/Windows/msvc/octave_package.nsi.in Modified: trunk/octave-forge/admin/Windows/msvc/README =================================================================== --- trunk/octave-forge/admin/Windows/msvc/README 2007-11-05 17:04:27 UTC (rev 4173) +++ trunk/octave-forge/admin/Windows/msvc/README 2007-11-05 17:19:00 UTC (rev 4174) @@ -1,110 +1,110 @@ -*************************************************** -** Compilation of octave/octave-forge under MSVC ** -*************************************************** - -This directory contains various tools and documentation files to compile -octave or octave-forge with the MSVC compiler suite. Note that a recent -MS compiler is required: all tests have been performed with the Visual -Studio 2005 Express edition available from Microsoft web site. - -In general, it is assumed that you have installed a recent Visual Studio -version, which is able to do Windows development. This can be achieved -in two ways: - - use of the commercial version of Visual Studio - - use of the free version of Visual Studio combined with the - Windows Platform SDK development kit -It is also assumed that you are able to access a Windows command prompt -that is fully configured to do Windows development. In particular, this -means that following environment variables are correctly defined: - - PATH : contain the location of the various MS development tools - - INCLUDE : contain the default include directories - - LIB : contain the default library directories (import lib files) - - -Description of the files -======================== - -ar-msvc -cc-msvc.cc -ranlib-msvc - - UNIX-to-MSVC compilation helper tools. These tools are designed - to be UNIX-like replacement tools: they convert their arguments - into an equivalent MSVC-tools-based command. These tools should - be accessible from your PATH environment variable. - -atl_blas.def -lapack.def -build_atlas_dll - - Support files to generate BLAS/LAPACK replacement DLL's from the - ATLAS library. They are used after a successful compilation of - ATLAS. - -octave.nsi -octaverc.win - - Support files for the generation of an octave/Win32 binary - distribution, using the NSIS installer system. - -libs\ - - Directory containing compilation instructions that various support - tools and libraries that are included in the octave/Win32 binary - distribution. - - -Installation conventions -======================== - -When compiling octave/octave-forge, it is easier (and expected) to install -all tools and support library in some central location that is available to -the MSVC development tools (through the use of the PATH, INCLUDE and LIB -variables). Using a central location makes it easier to make MSVC aware of -all packages in a few commands. - -As it is mainly about compiling UNIX-oriented libraries, it also easier -to follow the same directory conventions found under UNIX system. This -means that you will have the following directories (given your central -location is <prefix>): - <prefix>\bin : for executables, scripts and DLL's - <prefix>\include : for headers - <prefix>\lib : for import libraries - ... - - -Compilation under Windows command prompt -======================================== - -When compiling from the Windows command prompt, it is assumed that the full -MSVC environment is available through the use of the PATH, INCLUDE and LIB -variables. Moreover, MSVC should also be aware of all support tools and -libraries that you installed. When using a central location as described -above, this means that: - - PATH contains <prefix>\bin - - INCLUDE contains <prefix>\include - - LIB contains <prefix>\lib - - -Compilation under MinGW shell (http://www.mingw.org) -==================================================== - -When compiling from the MinGW shell, it is assumed that the full MSVC -environment and the full MinGW environment are available from the shell. -The easiest way to achieve this is to start the MinGW shell from a fully -configured Windows command prompt, as explained above, with a command -like: - - start <MinGW_prefix>\bin\rxvt.exe -e /bin/sh --login -i - -Note also that in some specific cases (like for GiNaC), you will also -need the complete MinGW development environment, including gcc. - - -Compilation under Cygwin shell (http://www.cygwin.com) -====================================================== - -The assumptions are the same as for MinGW shell. To get a fully configured -Cygwin shell, simply run cygwin.bat from a configured Windows command -prompt. The Cygwin shell is mainly used in ATLAS compilation, for which -you will also need the gcc compiler suite. +*************************************************** +** Compilation of octave/octave-forge under MSVC ** +*************************************************** + +This directory contains various tools and documentation files to compile +octave or octave-forge with the MSVC compiler suite. Note that a recent +MS compiler is required: all tests have been performed with the Visual +Studio 2005 Express edition available from Microsoft web site. + +In general, it is assumed that you have installed a recent Visual Studio +version, which is able to do Windows development. This can be achieved +in two ways: + - use of the commercial version of Visual Studio + - use of the free version of Visual Studio combined with the + Windows Platform SDK development kit +It is also assumed that you are able to access a Windows command prompt +that is fully configured to do Windows development. In particular, this +means that following environment variables are correctly defined: + - PATH : contain the location of the various MS development tools + - INCLUDE : contain the default include directories + - LIB : contain the default library directories (import lib files) + + +Description of the files +======================== + +ar-msvc +cc-msvc.cc +ranlib-msvc + + UNIX-to-MSVC compilation helper tools. These tools are designed + to be UNIX-like replacement tools: they convert their arguments + into an equivalent MSVC-tools-based command. These tools should + be accessible from your PATH environment variable. + +atl_blas.def +lapack.def +build_atlas_dll + + Support files to generate BLAS/LAPACK replacement DLL's from the + ATLAS library. They are used after a successful compilation of + ATLAS. + +octave.nsi +octaverc.win + + Support files for the generation of an octave/Win32 binary + distribution, using the NSIS installer system. + +libs\ + + Directory containing compilation instructions that various support + tools and libraries that are included in the octave/Win32 binary + distribution. + + +Installation conventions +======================== + +When compiling octave/octave-forge, it is easier (and expected) to install +all tools and support library in some central location that is available to +the MSVC development tools (through the use of the PATH, INCLUDE and LIB +variables). Using a central location makes it easier to make MSVC aware of +all packages in a few commands. + +As it is mainly about compiling UNIX-oriented libraries, it also easier +to follow the same directory conventions found under UNIX system. This +means that you will have the following directories (given your central +location is <prefix>): + <prefix>\bin : for executables, scripts and DLL's + <prefix>\include : for headers + <prefix>\lib : for import libraries + ... + + +Compilation under Windows command prompt +======================================== + +When compiling from the Windows command prompt, it is assumed that the full +MSVC environment is available through the use of the PATH, INCLUDE and LIB +variables. Moreover, MSVC should also be aware of all support tools and +libraries that you installed. When using a central location as described +above, this means that: + - PATH contains <prefix>\bin + - INCLUDE contains <prefix>\include + - LIB contains <prefix>\lib + + +Compilation under MinGW shell (http://www.mingw.org) +==================================================== + +When compiling from the MinGW shell, it is assumed that the full MSVC +environment and the full MinGW environment are available from the shell. +The easiest way to achieve this is to start the MinGW shell from a fully +configured Windows command prompt, as explained above, with a command +like: + + start <MinGW_prefix>\bin\rxvt.exe -e /bin/sh --login -i + +Note also that in some specific cases (like for GiNaC), you will also +need the complete MinGW development environment, including gcc. + + +Compilation under Cygwin shell (http://www.cygwin.com) +====================================================== + +The assumptions are the same as for MinGW shell. To get a fully configured +Cygwin shell, simply run cygwin.bat from a configured Windows command +prompt. The Cygwin shell is mainly used in ATLAS compilation, for which +you will also need the gcc compiler suite. Modified: trunk/octave-forge/admin/Windows/msvc/README.txt.in =================================================================== --- trunk/octave-forge/admin/Windows/msvc/README.txt.in 2007-11-05 17:04:27 UTC (rev 4173) +++ trunk/octave-forge/admin/Windows/msvc/README.txt.in 2007-11-05 17:19:00 UTC (rev 4174) @@ -1,60 +1,60 @@ -This package has been built against the @OCTAVE_VERSION@ version of Octave. This -version has many new features relative to previous versions, including - -* integer types -* fixed point arithmetic -* sparse matrices -* Linear programming code based on GLPK -* 64-bit compilation support -* gzipped files and stream and consequently support of Matlab v7 files -* Matlab compatiable graphic handles -* better support for both msvc and mingw -* fully compatiable MEX interface -* many many other minor features and compatibility changes - -Using this package for the development of OCT and MEX files: ------------------------------------------------------------ - -To build OCT or MEX files from their sources requires that a compiler -is installed. Ideally this should be the same compiler version as has -been used to compile this package. This version of Octave has been -compiled with Microsoft Visual C++ 8.0, which is available for free -download from - -http://msdn.microsoft.com/vstudio/express/visualc/ - -Visual C++ can not be distributed with Octave due to licensing -restrictions on redistribution. Once Visual C++ is installed, then -OCT files can be compiled from the Octave prompt with the "mkoctfile" -command, whereas as MEX files can be compiled with the "mex" command. - -Contributing to Octave: ----------------------- - -There are a number of ways that you can contribute to help make Octave -a better system. Perhaps the most important way to contribute is to -write high-quality code for solving new problems, and to make your -code freely available for others to use. For inspiration, we have a -wish-list of projects (http://www.octave.org/projects.html) and -feature requests. - -If you've written a useful function for Octave that you would like to -make available for others to use, please post it to the sources -mailing list (so...@oc...). Messages sent to this list will be -seen by the Octave maintainers, and will be considered for inclusion -in future releases of Octave. The messages are also archived -(http://www.octave.org/archive.org) , so even if the code is not -included in a future release, it will remain available for others to -use. - -If you find Octave useful, consider providing additional funding -(http://www.octave.org/funding.html) to continue its development. Even -a modest amount of additional funding could make a significant -difference in the amount of time that its author can devote to -development and support. - -If you cannot provide funding or contribute code, you can still help -make Octave better and more reliable by reporting any bugs -(http://www.octave.org/bugs.html) you find and by offering suggestions -for ways to improve Octave. - +This package has been built against the @OCTAVE_VERSION@ version of Octave. This +version has many new features relative to previous versions, including + +* integer types +* fixed point arithmetic +* sparse matrices +* Linear programming code based on GLPK +* 64-bit compilation support +* gzipped files and stream and consequently support of Matlab v7 files +* Matlab compatiable graphic handles +* better support for both msvc and mingw +* fully compatiable MEX interface +* many many other minor features and compatibility changes + +Using this package for the development of OCT and MEX files: +----------------------------------------------------------- + +To build OCT or MEX files from their sources requires that a compiler +is installed. Ideally this should be the same compiler version as has +been used to compile this package. This version of Octave has been +compiled with Microsoft Visual C++ 8.0, which is available for free +download from + +http://msdn.microsoft.com/vstudio/express/visualc/ + +Visual C++ can not be distributed with Octave due to licensing +restrictions on redistribution. Once Visual C++ is installed, then +OCT files can be compiled from the Octave prompt with the "mkoctfile" +command, whereas as MEX files can be compiled with the "mex" command. + +Contributing to Octave: +---------------------- + +There are a number of ways that you can contribute to help make Octave +a better system. Perhaps the most important way to contribute is to +write high-quality code for solving new problems, and to make your +code freely available for others to use. For inspiration, we have a +wish-list of projects (http://www.octave.org/projects.html) and +feature requests. + +If you've written a useful function for Octave that you would like to +make available for others to use, please post it to the sources +mailing list (so...@oc...). Messages sent to this list will be +seen by the Octave maintainers, and will be considered for inclusion +in future releases of Octave. The messages are also archived +(http://www.octave.org/archive.org) , so even if the code is not +included in a future release, it will remain available for others to +use. + +If you find Octave useful, consider providing additional funding +(http://www.octave.org/funding.html) to continue its development. Even +a modest amount of additional funding could make a significant +difference in the amount of time that its author can devote to +development and support. + +If you cannot provide funding or contribute code, you can still help +make Octave better and more reliable by reporting any bugs +(http://www.octave.org/bugs.html) you find and by offering suggestions +for ways to improve Octave. + Modified: trunk/octave-forge/admin/Windows/msvc/atlascpu.ini =================================================================== --- trunk/octave-forge/admin/Windows/msvc/atlascpu.ini 2007-11-05 17:04:27 UTC (rev 4173) +++ trunk/octave-forge/admin/Windows/msvc/atlascpu.ini 2007-11-05 17:19:00 UTC (rev 4174) @@ -1,46 +1,46 @@ -; Ini file generated by the HM NIS Edit IO designer. -[Settings] -NumFields=4 - -[Field 1] -Type=Label -Text=Octave includes Linear Algebra libraries optimized for different types of CPU. These libraries usually provide better performances than the generic version on the corresponding CPU.\r\n\r\nChoose here the version of the libraries you want to install. If you are not sure about your CPU type, choose "Generic".\r\n\r\nYour current CPU is: -Left=0 -Right=-1 -Top=0 -Bottom=65 - -[Field 2] -Type=Label -Left=16 -Right=-1 -Top=67 -Bottom=78 - -[Field 3] -Type=Droplist -Text=Droplist -ListItems=Generic (works on all systems)|Intel Pentium 4 with SSE2 -Left=64 -Right=272 -Top=100 -Bottom=192 -State=Generic (works on all systems) - -[Field 4] -Type=Label -Text=Select CPU type: -Left=2 -Right=56 -Top=102 -Bottom=110 - -[Field 5] -Type=Button -Text=Start timing utility -Flags=NOTIFY -Left=64 -Right=134 -Top=118 -Bottom=132 - +; Ini file generated by the HM NIS Edit IO designer. +[Settings] +NumFields=4 + +[Field 1] +Type=Label +Text=Octave includes Linear Algebra libraries optimized for different types of CPU. These libraries usually provide better performances than the generic version on the corresponding CPU.\r\n\r\nChoose here the version of the libraries you want to install. If you are not sure about your CPU type, choose "Generic".\r\n\r\nYour current CPU is: +Left=0 +Right=-1 +Top=0 +Bottom=65 + +[Field 2] +Type=Label +Left=16 +Right=-1 +Top=67 +Bottom=78 + +[Field 3] +Type=Droplist +Text=Droplist +ListItems=Generic (works on all systems)|Intel Pentium 4 with SSE2 +Left=64 +Right=272 +Top=100 +Bottom=192 +State=Generic (works on all systems) + +[Field 4] +Type=Label +Text=Select CPU type: +Left=2 +Right=56 +Top=102 +Bottom=110 + +[Field 5] +Type=Button +Text=Start timing utility +Flags=NOTIFY +Left=64 +Right=134 +Top=118 +Bottom=132 + Modified: trunk/octave-forge/admin/Windows/msvc/forge_autoload.ini =================================================================== --- trunk/octave-forge/admin/Windows/msvc/forge_autoload.ini 2007-11-05 17:04:27 UTC (rev 4173) +++ trunk/octave-forge/admin/Windows/msvc/forge_autoload.ini 2007-11-05 17:19:00 UTC (rev 4174) @@ -1,12 +1,12 @@ -; Ini file generated by the HM NIS Edit IO designer. -[Settings] -NumFields=1 - -[Field 1] -Type=Checkbox -Text=Load package at Octave startup -Left=0 -Right=-1 -Top=0 -Bottom=10 - +; Ini file generated by the HM NIS Edit IO designer. +[Settings] +NumFields=1 + +[Field 1] +Type=Checkbox +Text=Load package at Octave startup +Left=0 +Right=-1 +Top=0 +Bottom=10 + Modified: trunk/octave-forge/admin/Windows/msvc/graphics.ini =================================================================== --- trunk/octave-forge/admin/Windows/msvc/graphics.ini 2007-11-05 17:04:27 UTC (rev 4173) +++ trunk/octave-forge/admin/Windows/msvc/graphics.ini 2007-11-05 17:19:00 UTC (rev 4174) @@ -1,57 +1,57 @@ -; Ini file generated by the HM NIS Edit IO designer. -[Settings] -NumFields=6 - -[Field 1] -Type=RadioButton -Text=Gnuplot -Flags=GROUP -State=1 -Left=0 -Right=-1 -Top=0 -Bottom=9 - -[Field 2] -Type=Label -Text=This is the primary and most stable graphics backend of Octave. It is based on Gnuplot and provides full support for 2D plots as well as basic support for 3D plots. -Flags=NOTABSTOP -Left=20 -Right=-1 -Top=11 -Bottom=36 - -[Field 3] -Type=RadioButton -Text=JHandles -Left=0 -Right=-1 -Top=36 -Bottom=46 - -[Field 4] -Type=Label -Text=This is a Java- and OpenGL-based graphics backends for Octave. It is still in development stage, but it already contains good support for 2D/3D plots and UI components. Key features include support for surfaces, transparency, light, texture mapping, uicontrol/uipanel... -Flags=NOTABSTOP -Left=20 -Right=-1 -Top=46 -Bottom=86 - -[Field 5] -Type=RadioButton -Text=Octplot -Left=0 -Right=-1 -Top=86 -Bottom=96 - -[Field 6] -Type=Label -Text=This is an OpenGL-based graphics backends for Octave. It provides very good support for 2D plots, but has no support for 3D plots. It has an interface closer to Matlab and provides additional support for specialized 2D graphs not available with the Gnuplot backend. -Flags=NOTABSTOP -Left=20 -Right=-1 -Top=97 -Bottom=128 - +; Ini file generated by the HM NIS Edit IO designer. +[Settings] +NumFields=6 + +[Field 1] +Type=RadioButton +Text=Gnuplot +Flags=GROUP +State=1 +Left=0 +Right=-1 +Top=0 +Bottom=9 + +[Field 2] +Type=Label +Text=This is the primary and most stable graphics backend of Octave. It is based on Gnuplot and provides full support for 2D plots as well as basic support for 3D plots. +Flags=NOTABSTOP +Left=20 +Right=-1 +Top=11 +Bottom=36 + +[Field 3] +Type=RadioButton +Text=JHandles +Left=0 +Right=-1 +Top=36 +Bottom=46 + +[Field 4] +Type=Label +Text=This is a Java- and OpenGL-based graphics backends for Octave. It is still in development stage, but it already contains good support for 2D/3D plots and UI components. Key features include support for surfaces, transparency, light, texture mapping, uicontrol/uipanel... +Flags=NOTABSTOP +Left=20 +Right=-1 +Top=46 +Bottom=86 + +[Field 5] +Type=RadioButton +Text=Octplot +Left=0 +Right=-1 +Top=86 +Bottom=96 + +[Field 6] +Type=Label +Text=This is an OpenGL-based graphics backends for Octave. It provides very good support for 2D plots, but has no support for 3D plots. It has an interface closer to Matlab and provides additional support for specialized 2D graphs not available with the Gnuplot backend. +Flags=NOTABSTOP +Left=20 +Right=-1 +Top=97 +Bottom=128 + Modified: trunk/octave-forge/admin/Windows/msvc/matlab.properties.octave =================================================================== --- trunk/octave-forge/admin/Windows/msvc/matlab.properties.octave 2007-11-05 17:04:27 UTC (rev 4173) +++ trunk/octave-forge/admin/Windows/msvc/matlab.properties.octave 2007-11-05 17:19:00 UTC (rev 4174) @@ -1,120 +1,120 @@ -# Define SciTE settings for Octave and Matlab (see below) files. - -# set the default lexer for .m files -DEFAULT_M_LEXER_OCTAVE=1 -DEFAULT_M_LEXER_MATLAB=0 - -#----------------------------------------------------------------------- -# Octave -#----------------------------------------------------------------------- - -# M: Octave M-Files (we nee .m.octave for distinguishing it from matlab) -file.patterns.octave=*m;*.m.octave -#~ if DEFAULT_M_LEXER_OCTAVE - #~ file.patterns.octave=*.m;$(file.patterns.octave) -file.patterns.matlab=*.m;*.m.octave - -# M: Octave M-Files -filter.octave=Octave (m)|$(file.patterns.octave)| - -lexer.$(file.patterns.octave)=octave - -keywordclass.octave=\ -break \ -case \ -catch \ -continue \ -do \ -else \ -elseif \ -end \ -end_unwind_protect \ -endfor \ -endif \ -endswitch \ -endwhile \ -for \ -function endfunction \ -global \ -if \ -otherwise \ -persistent \ -return \ -switch \ -try \ -until \ -unwind_protect \ -unwind_protect_cleanup \ -while - -keywords.$(file.patterns.octave)=$(keywordclass.octave) - -comment.block.octave=# - -block.start.$(file.patterns.octave)=4 if else for case try catch while function -block.end.$(file.patterns.octave)=4 endif endfor endwhile endswitch endfunction - -indent.size.$(file.patterns.octave)=2 -use.tabs.$(file.patterns.octave)=0 - -# Octave styles -# White space -style.octave.0=fore:#000000 -# Comment -style.octave.1=$(colour.code.comment.line),$(font.code.comment.line) -# Command -style.octave.2=$(colour.preproc) -# Number -style.octave.3=$(colour.number) -# Keyword -style.octave.4=$(colour.keyword),bold -# String (5: single quoted, 8: double quoted) -style.octave.5=$(colour.string) -style.octave.8=$(colour.string) -# Operator -style.octave.6=$(colour.operator),bold -# Identifier -style.octave.7= - -#----------------------------------------------------------------------- -# Matlab -#----------------------------------------------------------------------- - -# M: Matlab M-Files (we need .m.matlab to distinguish it from octave) -file.patterns.matlab=*.m.matlab -#~ if DEFAULT_M_LEXER_MATLAB - #~ file.patterns.matlab=*.m;$(file.patterns.matlab) -# M: Matlab M-Files -filter.matlab=Matlab (m)|$(file.patterns.matlab)| - -lexer.$(file.patterns.matlab)=matlab - -keywordclass.matlab=break case catch continue else elseif end for function \ -global if otherwise persistent return switch try while - -keywords.$(file.patterns.matlab)=$(keywordclass.matlab) - -comment.block.matlab=%~ - -# Matlab styles -# White space -style.matlab.0=fore:#000000 -# Comment -style.matlab.1=$(colour.code.comment.line),$(font.code.comment.line) -# Command -style.matlab.2=$(colour.preproc) -# Number -style.matlab.3=$(colour.number) -# Keyword -style.matlab.4=$(colour.keyword),bold -# String (5=single quoted, 8=double quoted) -style.matlab.5=$(colour.string) -style.matlab.8=$(colour.string) -# Operator -style.matlab.6=$(colour.operator),bold -# Identifier -style.matlab.7= - -if PLAT_WIN - command.go.*.m=@OCTAVE_DIR@\bin\octave.exe -q "$(FileNameExt)" - command.go.subsystem.*.m=0 +# Define SciTE settings for Octave and Matlab (see below) files. + +# set the default lexer for .m files +DEFAULT_M_LEXER_OCTAVE=1 +DEFAULT_M_LEXER_MATLAB=0 + +#----------------------------------------------------------------------- +# Octave +#----------------------------------------------------------------------- + +# M: Octave M-Files (we nee .m.octave for distinguishing it from matlab) +file.patterns.octave=*m;*.m.octave +#~ if DEFAULT_M_LEXER_OCTAVE + #~ file.patterns.octave=*.m;$(file.patterns.octave) +file.patterns.matlab=*.m;*.m.octave + +# M: Octave M-Files +filter.octave=Octave (m)|$(file.patterns.octave)| + +lexer.$(file.patterns.octave)=octave + +keywordclass.octave=\ +break \ +case \ +catch \ +continue \ +do \ +else \ +elseif \ +end \ +end_unwind_protect \ +endfor \ +endif \ +endswitch \ +endwhile \ +for \ +function endfunction \ +global \ +if \ +otherwise \ +persistent \ +return \ +switch \ +try \ +until \ +unwind_protect \ +unwind_protect_cleanup \ +while + +keywords.$(file.patterns.octave)=$(keywordclass.octave) + +comment.block.octave=# + +block.start.$(file.patterns.octave)=4 if else for case try catch while function +block.end.$(file.patterns.octave)=4 endif endfor endwhile endswitch endfunction + +indent.size.$(file.patterns.octave)=2 +use.tabs.$(file.patterns.octave)=0 + +# Octave styles +# White space +style.octave.0=fore:#000000 +# Comment +style.octave.1=$(colour.code.comment.line),$(font.code.comment.line) +# Command +style.octave.2=$(colour.preproc) +# Number +style.octave.3=$(colour.number) +# Keyword +style.octave.4=$(colour.keyword),bold +# String (5: single quoted, 8: double quoted) +style.octave.5=$(colour.string) +style.octave.8=$(colour.string) +# Operator +style.octave.6=$(colour.operator),bold +# Identifier +style.octave.7= + +#----------------------------------------------------------------------- +# Matlab +#----------------------------------------------------------------------- + +# M: Matlab M-Files (we need .m.matlab to distinguish it from octave) +file.patterns.matlab=*.m.matlab +#~ if DEFAULT_M_LEXER_MATLAB + #~ file.patterns.matlab=*.m;$(file.patterns.matlab) +# M: Matlab M-Files +filter.matlab=Matlab (m)|$(file.patterns.matlab)| + +lexer.$(file.patterns.matlab)=matlab + +keywordclass.matlab=break case catch continue else elseif end for function \ +global if otherwise persistent return switch try while + +keywords.$(file.patterns.matlab)=$(keywordclass.matlab) + +comment.block.matlab=%~ + +# Matlab styles +# White space +style.matlab.0=fore:#000000 +# Comment +style.matlab.1=$(colour.code.comment.line),$(font.code.comment.line) +# Command +style.matlab.2=$(colour.preproc) +# Number +style.matlab.3=$(colour.number) +# Keyword +style.matlab.4=$(colour.keyword),bold +# String (5=single quoted, 8=double quoted) +style.matlab.5=$(colour.string) +style.matlab.8=$(colour.string) +# Operator +style.matlab.6=$(colour.operator),bold +# Identifier +style.matlab.7= + +if PLAT_WIN + command.go.*.m=@OCTAVE_DIR@\bin\octave.exe -q "$(FileNameExt)" + command.go.subsystem.*.m=0 Modified: trunk/octave-forge/admin/Windows/msvc/octave-sources.nsi =================================================================== --- trunk/octave-forge/admin/Windows/msvc/octave-sources.nsi 2007-11-05 17:04:27 UTC (rev 4173) +++ trunk/octave-forge/admin/Windows/msvc/octave-sources.nsi 2007-11-05 17:19:00 UTC (rev 4174) @@ -1,423 +1,423 @@ -; Script generated by the HM NIS Edit Script Wizard. - -; Determine which configuration to use -#!define CONFIG_HOME - -; Location of various components -!ifdef CONFIG_HOME -!define LIBS_ROOT "C:\Software\MSYS\local\${OCTAVE_BASE}" -!define OCTAVE_FORGE "C:\Documents and Settings\Michael\Mes documents\Sources\playground\c\fromwork\octave-forge-cvs" -!else -!define LIBS_ROOT "D:\Sources\MixDT\playground\c\original-libraries" -!define OCTAVE_FORGE "D:\Sources\MixDT\playground\c\octave-forge-cvs" -!endif -!define OCTAVE_VERSION "2.9.9+" -!define OCTAVE_CVS_VERSION "20070126" - -; HM NIS Edit Wizard helper defines -!define PRODUCT_NAME "GNU Octave/Win32 Sources" -!ifdef OCTAVE_CVS_VERSION -!define PRODUCT_VERSION "snapshot-${OCTAVE_CVS_VERSION} (${OCTAVE_VERSION})" -!else -!define PRODUCT_VERSION "${OCTAVE_VERSION}" -!endif -!define PRODUCT_PUBLISHER "" -!define PRODUCT_WEB_SITE "http://www.octave.org" -!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\octave-${OCTAVE_VERSION}.exe" -!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" -!define PRODUCT_UNINST_ROOT_KEY "HKLM" -!define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir" - -; MUI 1.67 compatible ------ -!include "MUI.nsh" -!include "Sections.nsh" - -; MUI Settings -!define MUI_ABORTWARNING -!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" -!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" - -; Welcome page -!ifdef OCTAVE_CVS_VERSION -!define MUI_WELCOMEPAGE_TITLE_3LINES -!define MUI_FINISHPAGE_TITLE_3LINES -!define MUI_WELCOMEPAGE_TEXT "$(MUI_TEXT_WELCOME_INFO_TEXT)\r\n\r\nWARNING: THIS PACKAGE IS A DEVELOPMENT VERSION PROVIDED FOR TESTING PURPOSE. NORMAL USERS SHOULD USE A REGULAR RELEASE VERSION." -!endif -!insertmacro MUI_PAGE_WELCOME -; License page -!define MUI_LICENSEPAGE_TEXT_BOTTOM "Click Next to continue." -!define MUI_LICENSEPAGE_BUTTON "Next >" -!insertmacro MUI_PAGE_LICENSE "octave-sources.txt" -; Components page -!insertmacro MUI_PAGE_COMPONENTS -; Directory page -!insertmacro MUI_PAGE_DIRECTORY -; Start menu page -var ICONS_GROUP -!define MUI_STARTMENUPAGE_NODISABLE -!define MUI_STARTMENUPAGE_DEFAULTFOLDER "GNU Octave\Sources" -!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" -!define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" -!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}" -!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP -; Instfiles page -!insertmacro MUI_PAGE_INSTFILES -; Finish page -!insertmacro MUI_PAGE_FINISH - -; Uninstaller pages -!insertmacro MUI_UNPAGE_INSTFILES - -; Language files -!insertmacro MUI_LANGUAGE "English" - -; MUI end ------ - -Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" -!ifdef OCTAVE_CVS_VERSION -OutFile "octave_sources_${OCTAVE_CVS_VERSION}(${OCTAVE_VERSION})_setup.exe" -!else -OutFile "octave_sources_${OCTAVE_VERSION}_setup.exe" -!endif -InstallDir "$PROGRAMFILES\Octave\src" -#InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" -ShowInstDetails show -ShowUnInstDetails show - -Section /o "Atlas" SEC_ATLAS - SetOutPath "$INSTDIR\atlas" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\atlas-3.6.0.diff" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\atlas-3.6.0.txt" - File "${LIBS_ROOT}\atlas3.6.0.tar.bz2" - File "${OCTAVE_FORGE}\admin\Windows\msvc\build_atlas_dll" - File "${OCTAVE_FORGE}\admin\Windows\msvc\atl_blas.def" - File "${OCTAVE_FORGE}\admin\Windows\msvc\lapack.def" -SectionEnd - -Section /o "Blas" SEC_BLAS - SetOutPath "$INSTDIR\blas" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\blas.makefile" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\blas.txt" - File "${LIBS_ROOT}\blas.tar.gz" -SectionEnd - -Section /o "Cairo" SEC_CAIRO - SetOutPath "$INSTDIR\cairo" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\cairo-1.2.6.diff" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\cairo-1.2.6.txt" - File "${LIBS_ROOT}\cairo-1.2.6.tar.gz" -SectionEnd - -Section /o "Cln" SEC_CLN - SetOutPath "$INSTDIR\cln" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\cln-1.1.13.diff" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\cln-1.1.13.txt" - File "${LIBS_ROOT}\cln-1.1.13.tar.bz2" -SectionEnd - -Section /o "F2c" SEC_F2C - SetOutPath "$INSTDIR\f2c" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\f2c.txt" -SectionEnd - -Section /o "Fftw" SEC_FFTW - SetOutPath "$INSTDIR\fftw" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\fftw.txt" - File "${LIBS_ROOT}\fftw-3.1.2.tar.gz" -SectionEnd - -Section /o "Fltk" SEC_FLTK - SetOutPath "$INSTDIR\fltk" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\fltk-1.1.7.txt" - File "${LIBS_ROOT}\fltk-1.1.7-source.tar.gz" -SectionEnd - -Section /o "Freetype" SEC_FREETYPE - SetOutPath "$INSTDIR\freetype" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\freetype-2.3.1.diff" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\freetype-2.3.1.txt" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\freetype-config" - File "${LIBS_ROOT}\freetype-2.3.1.tar.gz" -SectionEnd - -Section /o "Gd" SEC_GD - SetOutPath "$INSTDIR\gd" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\gd-2.0.34.diff" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\gd-2.0.34.txt" - File "${LIBS_ROOT}\gd-2.0.34.tar.gz" -SectionEnd - -Section /o "Gettext" SEC_GETTEXT - SetOutPath "$INSTDIR\gettext" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\gettext-0.15.diff" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\gettext-0.15.txt" - File "${LIBS_ROOT}\gettext-0.15.tar.gz" -SectionEnd - -Section /o "Ginac" SEC_GINAC - SetOutPath "$INSTDIR\ginac" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\ginac-1.3.6.diff" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\ginac-1.3.6.txt" - File "${LIBS_ROOT}\ginac-1.3.6.tar.bz2" -SectionEnd - -Section /o "Glib" SEC_GLIB - SetOutPath "$INSTDIR\glib" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\glib-2.12.6.diff" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\glib-2.12.6.txt" - File "${LIBS_ROOT}\glib-2.12.6.tar.gz" -SectionEnd - -Section /o "Glob" SEC_GLOB - SetOutPath "$INSTDIR\glob" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\glob.txt" - File "${LIBS_ROOT}\glob.tar.gz" -SectionEnd - -Section /o "Glpk" SEC_GLPK - SetOutPath "$INSTDIR\glpk" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\glpk-4.9.diff" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\glpk-4.9.txt" - File "${LIBS_ROOT}\glpk-4.9.tar.gz" -SectionEnd - -Section /o "Gnuplot" SEC_GNUPLOT - SetOutPath "$INSTDIR\gnuplot" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\gnuplot-4.2.rc4.diff" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\gnuplot-4.2.rc4.txt" - File "${LIBS_ROOT}\gnuplot-4.2.rc4.tar.gz" -SectionEnd - -Section /o "Gsl" SEC_GSL - SetOutPath "$INSTDIR\gsl" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\gsl-1.8.txt" - File "${LIBS_ROOT}\gsl-1.8-src.zip" -SectionEnd - -Section /o "Hdf5" SEC_HDF5 - SetOutPath "$INSTDIR\hdf5" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\hdf5.txt" - File "${LIBS_ROOT}\hdf5-1.6.5.tar.gz" -SectionEnd - -Section /o "Lapack" SEC_LAPACK - SetOutPath "$INSTDIR\lapack" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\lapack.makefile" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\lapack.txt" - File "${LIBS_ROOT}\lapack-lite-3.1.0.tar.gz" -SectionEnd - -Section /o "Less" SEC_LESS - SetOutPath "$INSTDIR\less" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\less-394.diff" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\less-394.txt" - File "${LIBS_ROOT}\less-394.zip" -SectionEnd - -Section /o "Libf2c" SEC_LIBF2C - SetOutPath "$INSTDIR\libf2c" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\libf2c.txt" - File "${LIBS_ROOT}\libf2c.zip" -SectionEnd - -Section /o "Libiconv" SEC_LIBICONV - SetOutPath "$INSTDIR\libiconv" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\libiconv-1.11.txt" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\libiconv-1.11.diff" - File "${LIBS_ROOT}\libiconv-1.11.tar.gz" -SectionEnd - -Section /o "Libjpeg" SEC_LIBJPEG - SetOutPath "$INSTDIR\libjpeg" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\libjpeg-6b.txt" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\libjpeg-6b.diff" - File "${LIBS_ROOT}\jpeg-6b-4-src.zip" -SectionEnd - -Section /o "Libpng" SEC_LIBPNG - SetOutPath "$INSTDIR\libpng" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\libpng-1.2.16.txt" - File "${LIBS_ROOT}\lpng1216.zip" -SectionEnd - -Section /o "Msvc tools" SEC_TOOLS - SetOutPath "$INSTDIR\msvc-tools" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\cc-msvc.cc" - File "${OCTAVE_FORGE}\admin\Windows\msvc\ar-msvc" - File "${OCTAVE_FORGE}\admin\Windows\msvc\ranlib-msvc" -SectionEnd - -Section /o "Netcdf" SEC_NETCDF - SetOutPath "$INSTDIR\netcdf" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\netcdf.txt" - File "${LIBS_ROOT}\netcdf.tar.gz" -SectionEnd - -Section /o "Pango" SEC_PANGO - SetOutPath "$INSTDIR\pango" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\pango-1.14.9.txt" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\pango-1.14.9.diff" - File "${LIBS_ROOT}\pango-1.14.9.tar.gz" -SectionEnd - -Section /o "Pcre" SEC_PCRE - SetOutPath "$INSTDIR\pcre" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\pcre-7.0.txt" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\pcre-7.0.diff" - File "${LIBS_ROOT}\pcre-7.0.tar.gz" -SectionEnd - -Section /o "Readline" SEC_READLINE - SetOutPath "$INSTDIR\readline" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\readline-5.2.txt" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\readline-5.2.diff" - File "${LIBS_ROOT}\readline-5.2.tar.gz" -SectionEnd - -Section /o "Sed" SEC_SED - SetOutPath "$INSTDIR\sed" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\sed-4.1.5.txt" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\sed-4.1.5.diff" - File "${LIBS_ROOT}\sed-4.1.5.tar.gz" -SectionEnd - -Section /o "SuiteSparse" SEC_SUITESPARSE - SetOutPath "$INSTDIR\suitesparse" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\suitesparse.txt" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\suitesparse.diff" - File "${LIBS_ROOT}\SuiteSparse-2.3.1.zip" -SectionEnd - -Section /o "Texinfo" SEC_TEXINFO - SetOutPath "$INSTDIR\texinfo" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\texinfo-4.8a.txt" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\texinfo-4.8a.diff" - File "${LIBS_ROOT}\texinfo-4.8a.tar.gz" -SectionEnd - -Section /o "WxWidgets" SEC_WX - SetOutPath "$INSTDIR\wxwidgets" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\wxwidgets-2.8.0.txt" - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\wxwidgets-2.8.0.diff" - File "${LIBS_ROOT}\wxMSW-2.8.0-Setup.exe" -SectionEnd - -Section /o "Zlib" SEC_ZLIB - SetOutPath "$INSTDIR\zlib" - SetOverwrite try - File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\zlib.txt" - File "${LIBS_ROOT}\zlib123.zip" -SectionEnd - -Section -AdditionalIcons - SetOutPath $INSTDIR - !insertmacro MUI_STARTMENU_WRITE_BEGIN Application - CreateDirectory "$SMPROGRAMS\$ICONS_GROUP" - CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" "$INSTDIR\uninst.exe" - !insertmacro MUI_STARTMENU_WRITE_END -SectionEnd - -Section -Post - WriteUninstaller "$INSTDIR\uninst.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\bin\octave-${OCTAVE_VERSION}.exe" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" - WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" -SectionEnd - -; Section descriptions -!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_ATLAS} "Automatically Tuned Linear Algebra Software (3.6.0)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_BLAS} "Basic Linear Algebra Subprograms" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_CAIRO} "2D Vector Graphics Library (1.2.6)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_CLN} "Class Library for Numbers (1.1.13)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_F2C} "Fortran to C translator" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_FFTW} "Fast Fourier Transform C Library (3.1.2)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_FLTK} "Fast Light ToolKit (1.1.7): cross-platform C++ GUI ToolKit" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_FREETYPE} "Portable High-Quality Font Engine (2.3.1)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GD} "Image Graphics Library (2.0.34)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GETTEXT} "GNU Translation Helper Tools (0.15)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GINAC} "Symbolic Compatution Alegbra System (1.3.6)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GLIB} "Low-level Core Library of GTK+ (2.12.6)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GLOB} "File Name Globbing and Matching Library" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GLPK} "GNU Linear Programming Kit (4.9)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GNUPLOT} "Interactive Data and Function Plotting Tool (4.2rc4)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GSL} "GNU Scientific Library (1.8)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_HDF5} "General Purpose Library for Storing Scientific Data (1.6.5)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LAPACK} "Linear Algebra Package (3.1.0)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LESS} "Advanced Text Viewer (394)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LIBF2C} "Support Library for the Fortran to C Translator (f2c)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LIBICONV} "GNU Text Encoding Library (1.11)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LIBJPEG} "JPEG Imaging Library (6b)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LIBPNG} "PNG Imaging Library (1.2.16)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_NETCDF} "Network Common Data Form Library (3.6.1)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_PANGO} "Text Layout and Rendering Library of GTK+ (1.14.9)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_PCRE} "Perl-Compatible Regular Expression Library (7.0)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_READLINE} "GNU Line Editing Library (5.2)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_SED} "GNU Stream Editor (4.1.5)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_SUITESPARSE} "Sparse Matrix Library (2.3.1)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_TEXINFO} "GNU Documentation System (4.8a)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_TOOLS} "MSVC Compiler Related Tools" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_WX} "WxWidgets C++ Cross-Platform GUI ToolKit (2.8.0)" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_ZLIB} "Compression Library (1.2.3)" -!insertmacro MUI_FUNCTION_DESCRIPTION_END - - -Function un.onUninstSuccess - HideWindow - MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." -FunctionEnd - -Function un.onInit - MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 - Abort -FunctionEnd - -Function .onInit -FunctionEnd - -Section Uninstall - !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP - RMDir /r "$INSTDIR" - - Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" - - RMDir "$SMPROGRAMS\$ICONS_GROUP" - - DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" - SetAutoClose true -SectionEnd +; Script generated by the HM NIS Edit Script Wizard. + +; Determine which configuration to use +#!define CONFIG_HOME + +; Location of various components +!ifdef CONFIG_HOME +!define LIBS_ROOT "C:\Software\MSYS\local\${OCTAVE_BASE}" +!define OCTAVE_FORGE "C:\Documents and Settings\Michael\Mes documents\Sources\playground\c\fromwork\octave-forge-cvs" +!else +!define LIBS_ROOT "D:\Sources\MixDT\playground\c\original-libraries" +!define OCTAVE_FORGE "D:\Sources\MixDT\playground\c\octave-forge-cvs" +!endif +!define OCTAVE_VERSION "2.9.9+" +!define OCTAVE_CVS_VERSION "20070126" + +; HM NIS Edit Wizard helper defines +!define PRODUCT_NAME "GNU Octave/Win32 Sources" +!ifdef OCTAVE_CVS_VERSION +!define PRODUCT_VERSION "snapshot-${OCTAVE_CVS_VERSION} (${OCTAVE_VERSION})" +!else +!define PRODUCT_VERSION "${OCTAVE_VERSION}" +!endif +!define PRODUCT_PUBLISHER "" +!define PRODUCT_WEB_SITE "http://www.octave.org" +!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\octave-${OCTAVE_VERSION}.exe" +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" +!define PRODUCT_UNINST_ROOT_KEY "HKLM" +!define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir" + +; MUI 1.67 compatible ------ +!include "MUI.nsh" +!include "Sections.nsh" + +; MUI Settings +!define MUI_ABORTWARNING +!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" + +; Welcome page +!ifdef OCTAVE_CVS_VERSION +!define MUI_WELCOMEPAGE_TITLE_3LINES +!define MUI_FINISHPAGE_TITLE_3LINES +!define MUI_WELCOMEPAGE_TEXT "$(MUI_TEXT_WELCOME_INFO_TEXT)\r\n\r\nWARNING: THIS PACKAGE IS A DEVELOPMENT VERSION PROVIDED FOR TESTING PURPOSE. NORMAL USERS SHOULD USE A REGULAR RELEASE VERSION." +!endif +!insertmacro MUI_PAGE_WELCOME +; License page +!define MUI_LICENSEPAGE_TEXT_BOTTOM "Click Next to continue." +!define MUI_LICENSEPAGE_BUTTON "Next >" +!insertmacro MUI_PAGE_LICENSE "octave-sources.txt" +; Components page +!insertmacro MUI_PAGE_COMPONENTS +; Directory page +!insertmacro MUI_PAGE_DIRECTORY +; Start menu page +var ICONS_GROUP +!define MUI_STARTMENUPAGE_NODISABLE +!define MUI_STARTMENUPAGE_DEFAULTFOLDER "GNU Octave\Sources" +!define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" +!define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" +!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}" +!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP +; Instfiles page +!insertmacro MUI_PAGE_INSTFILES +; Finish page +!insertmacro MUI_PAGE_FINISH + +; Uninstaller pages +!insertmacro MUI_UNPAGE_INSTFILES + +; Language files +!insertmacro MUI_LANGUAGE "English" + +; MUI end ------ + +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" +!ifdef OCTAVE_CVS_VERSION +OutFile "octave_sources_${OCTAVE_CVS_VERSION}(${OCTAVE_VERSION})_setup.exe" +!else +OutFile "octave_sources_${OCTAVE_VERSION}_setup.exe" +!endif +InstallDir "$PROGRAMFILES\Octave\src" +#InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" +ShowInstDetails show +ShowUnInstDetails show + +Section /o "Atlas" SEC_ATLAS + SetOutPath "$INSTDIR\atlas" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\atlas-3.6.0.diff" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\atlas-3.6.0.txt" + File "${LIBS_ROOT}\atlas3.6.0.tar.bz2" + File "${OCTAVE_FORGE}\admin\Windows\msvc\build_atlas_dll" + File "${OCTAVE_FORGE}\admin\Windows\msvc\atl_blas.def" + File "${OCTAVE_FORGE}\admin\Windows\msvc\lapack.def" +SectionEnd + +Section /o "Blas" SEC_BLAS + SetOutPath "$INSTDIR\blas" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\blas.makefile" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\blas.txt" + File "${LIBS_ROOT}\blas.tar.gz" +SectionEnd + +Section /o "Cairo" SEC_CAIRO + SetOutPath "$INSTDIR\cairo" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\cairo-1.2.6.diff" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\cairo-1.2.6.txt" + File "${LIBS_ROOT}\cairo-1.2.6.tar.gz" +SectionEnd + +Section /o "Cln" SEC_CLN + SetOutPath "$INSTDIR\cln" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\cln-1.1.13.diff" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\cln-1.1.13.txt" + File "${LIBS_ROOT}\cln-1.1.13.tar.bz2" +SectionEnd + +Section /o "F2c" SEC_F2C + SetOutPath "$INSTDIR\f2c" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\f2c.txt" +SectionEnd + +Section /o "Fftw" SEC_FFTW + SetOutPath "$INSTDIR\fftw" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\fftw.txt" + File "${LIBS_ROOT}\fftw-3.1.2.tar.gz" +SectionEnd + +Section /o "Fltk" SEC_FLTK + SetOutPath "$INSTDIR\fltk" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\fltk-1.1.7.txt" + File "${LIBS_ROOT}\fltk-1.1.7-source.tar.gz" +SectionEnd + +Section /o "Freetype" SEC_FREETYPE + SetOutPath "$INSTDIR\freetype" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\freetype-2.3.1.diff" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\freetype-2.3.1.txt" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\freetype-config" + File "${LIBS_ROOT}\freetype-2.3.1.tar.gz" +SectionEnd + +Section /o "Gd" SEC_GD + SetOutPath "$INSTDIR\gd" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\gd-2.0.34.diff" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\gd-2.0.34.txt" + File "${LIBS_ROOT}\gd-2.0.34.tar.gz" +SectionEnd + +Section /o "Gettext" SEC_GETTEXT + SetOutPath "$INSTDIR\gettext" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\gettext-0.15.diff" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\gettext-0.15.txt" + File "${LIBS_ROOT}\gettext-0.15.tar.gz" +SectionEnd + +Section /o "Ginac" SEC_GINAC + SetOutPath "$INSTDIR\ginac" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\ginac-1.3.6.diff" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\ginac-1.3.6.txt" + File "${LIBS_ROOT}\ginac-1.3.6.tar.bz2" +SectionEnd + +Section /o "Glib" SEC_GLIB + SetOutPath "$INSTDIR\glib" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\glib-2.12.6.diff" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\glib-2.12.6.txt" + File "${LIBS_ROOT}\glib-2.12.6.tar.gz" +SectionEnd + +Section /o "Glob" SEC_GLOB + SetOutPath "$INSTDIR\glob" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\glob.txt" + File "${LIBS_ROOT}\glob.tar.gz" +SectionEnd + +Section /o "Glpk" SEC_GLPK + SetOutPath "$INSTDIR\glpk" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\glpk-4.9.diff" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\glpk-4.9.txt" + File "${LIBS_ROOT}\glpk-4.9.tar.gz" +SectionEnd + +Section /o "Gnuplot" SEC_GNUPLOT + SetOutPath "$INSTDIR\gnuplot" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\gnuplot-4.2.rc4.diff" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\gnuplot-4.2.rc4.txt" + File "${LIBS_ROOT}\gnuplot-4.2.rc4.tar.gz" +SectionEnd + +Section /o "Gsl" SEC_GSL + SetOutPath "$INSTDIR\gsl" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\gsl-1.8.txt" + File "${LIBS_ROOT}\gsl-1.8-src.zip" +SectionEnd + +Section /o "Hdf5" SEC_HDF5 + SetOutPath "$INSTDIR\hdf5" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\hdf5.txt" + File "${LIBS_ROOT}\hdf5-1.6.5.tar.gz" +SectionEnd + +Section /o "Lapack" SEC_LAPACK + SetOutPath "$INSTDIR\lapack" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\lapack.makefile" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\lapack.txt" + File "${LIBS_ROOT}\lapack-lite-3.1.0.tar.gz" +SectionEnd + +Section /o "Less" SEC_LESS + SetOutPath "$INSTDIR\less" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\less-394.diff" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\less-394.txt" + File "${LIBS_ROOT}\less-394.zip" +SectionEnd + +Section /o "Libf2c" SEC_LIBF2C + SetOutPath "$INSTDIR\libf2c" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\libf2c.txt" + File "${LIBS_ROOT}\libf2c.zip" +SectionEnd + +Section /o "Libiconv" SEC_LIBICONV + SetOutPath "$INSTDIR\libiconv" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\libiconv-1.11.txt" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\libiconv-1.11.diff" + File "${LIBS_ROOT}\libiconv-1.11.tar.gz" +SectionEnd + +Section /o "Libjpeg" SEC_LIBJPEG + SetOutPath "$INSTDIR\libjpeg" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\libjpeg-6b.txt" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\libjpeg-6b.diff" + File "${LIBS_ROOT}\jpeg-6b-4-src.zip" +SectionEnd + +Section /o "Libpng" SEC_LIBPNG + SetOutPath "$INSTDIR\libpng" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\libpng-1.2.16.txt" + File "${LIBS_ROOT}\lpng1216.zip" +SectionEnd + +Section /o "Msvc tools" SEC_TOOLS + SetOutPath "$INSTDIR\msvc-tools" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\cc-msvc.cc" + File "${OCTAVE_FORGE}\admin\Windows\msvc\ar-msvc" + File "${OCTAVE_FORGE}\admin\Windows\msvc\ranlib-msvc" +SectionEnd + +Section /o "Netcdf" SEC_NETCDF + SetOutPath "$INSTDIR\netcdf" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\netcdf.txt" + File "${LIBS_ROOT}\netcdf.tar.gz" +SectionEnd + +Section /o "Pango" SEC_PANGO + SetOutPath "$INSTDIR\pango" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\pango-1.14.9.txt" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\pango-1.14.9.diff" + File "${LIBS_ROOT}\pango-1.14.9.tar.gz" +SectionEnd + +Section /o "Pcre" SEC_PCRE + SetOutPath "$INSTDIR\pcre" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\pcre-7.0.txt" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\pcre-7.0.diff" + File "${LIBS_ROOT}\pcre-7.0.tar.gz" +SectionEnd + +Section /o "Readline" SEC_READLINE + SetOutPath "$INSTDIR\readline" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\readline-5.2.txt" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\readline-5.2.diff" + File "${LIBS_ROOT}\readline-5.2.tar.gz" +SectionEnd + +Section /o "Sed" SEC_SED + SetOutPath "$INSTDIR\sed" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\sed-4.1.5.txt" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\sed-4.1.5.diff" + File "${LIBS_ROOT}\sed-4.1.5.tar.gz" +SectionEnd + +Section /o "SuiteSparse" SEC_SUITESPARSE + SetOutPath "$INSTDIR\suitesparse" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\suitesparse.txt" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\suitesparse.diff" + File "${LIBS_ROOT}\SuiteSparse-2.3.1.zip" +SectionEnd + +Section /o "Texinfo" SEC_TEXINFO + SetOutPath "$INSTDIR\texinfo" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\texinfo-4.8a.txt" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\texinfo-4.8a.diff" + File "${LIBS_ROOT}\texinfo-4.8a.tar.gz" +SectionEnd + +Section /o "WxWidgets" SEC_WX + SetOutPath "$INSTDIR\wxwidgets" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\wxwidgets-2.8.0.txt" + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\wxwidgets-2.8.0.diff" + File "${LIBS_ROOT}\wxMSW-2.8.0-Setup.exe" +SectionEnd + +Section /o "Zlib" SEC_ZLIB + SetOutPath "$INSTDIR\zlib" + SetOverwrite try + File "${OCTAVE_FORGE}\admin\Windows\msvc\libs\zlib.txt" + File "${LIBS_ROOT}\zlib123.zip" +SectionEnd + +Section -AdditionalIcons + SetOutPath $INSTDIR + !insertmacro MUI_STARTMENU_WRITE_BEGIN Application + CreateDirectory "$SMPROGRAMS\$ICONS_GROUP" + CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" "$INSTDIR\uninst.exe" + !insertmacro MUI_STARTMENU_WRITE_END +SectionEnd + +Section -Post + WriteUninstaller "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\bin\octave-${OCTAVE_VERSION}.exe" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" + WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" +SectionEnd + +; Section descriptions +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_ATLAS} "Automatically Tuned Linear Algebra Software (3.6.0)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_BLAS} "Basic Linear Algebra Subprograms" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_CAIRO} "2D Vector Graphics Library (1.2.6)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_CLN} "Class Library for Numbers (1.1.13)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_F2C} "Fortran to C translator" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_FFTW} "Fast Fourier Transform C Library (3.1.2)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_FLTK} "Fast Light ToolKit (1.1.7): cross-platform C++ GUI ToolKit" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_FREETYPE} "Portable High-Quality Font Engine (2.3.1)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GD} "Image Graphics Library (2.0.34)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GETTEXT} "GNU Translation Helper Tools (0.15)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GINAC} "Symbolic Compatution Alegbra System (1.3.6)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GLIB} "Low-level Core Library of GTK+ (2.12.6)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GLOB} "File Name Globbing and Matching Library" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GLPK} "GNU Linear Programming Kit (4.9)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GNUPLOT} "Interactive Data and Function Plotting Tool (4.2rc4)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_GSL} "GNU Scientific Library (1.8)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_HDF5} "General Purpose Library for Storing Scientific Data (1.6.5)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LAPACK} "Linear Algebra Package (3.1.0)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LESS} "Advanced Text Viewer (394)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LIBF2C} "Support Library for the Fortran to C Translator (f2c)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LIBICONV} "GNU Text Encoding Library (1.11)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LIBJPEG} "JPEG Imaging Library (6b)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LIBPNG} "PNG Imaging Library (1.2.16)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_NETCDF} "Network Common Data Form Library (3.6.1)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_PANGO} "Text Layout and Rendering Library of GTK+ (1.14.9)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_PCRE} "Perl-Compatible Regular Expression Library (7.0)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_READLINE} "GNU Line Editing Library (5.2)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_SED} "GNU Stream Editor (4.1.5)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_SUITESPARSE} "Sparse Matrix Library (2.3.1)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_TEXINFO} "GNU Documentation System (4.8a)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_TOOLS} "MSVC Compiler Related Tools" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_WX} "WxWidgets C++ Cross-Platform GUI ToolKit (2.8.0)" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_ZLIB} "Compression Library (1.2.3)" +!insertmacro MUI_FUNCTION_DESCRIPTION_END + + +Function un.onUninstSuccess + HideWindow + MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer." +FunctionEnd + +Function un.onInit + MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2 + Abort +FunctionEnd + +Function .onInit +FunctionEnd + +Section Uninstall + !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP + RMDir /r "$INSTDIR" + + Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" + + RMDir "$SMPROGRAMS\$ICONS_GROUP" + + DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" + SetAutoClose true +SectionEnd Modified: trunk/octave-forge/admin/Windows/msvc/octave.nsi ================================================================... [truncated message content] |
From: <gof...@us...> - 2007-11-14 08:30:34
|
Revision: 4214 http://octave.svn.sourceforge.net/octave/?rev=4214&view=rev Author: goffioul Date: 2007-11-14 00:30:38 -0800 (Wed, 14 Nov 2007) Log Message: ----------- install libcurl license file + add libcurl to binary packages Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/octave.nsi.in trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Modified: trunk/octave-forge/admin/Windows/msvc/octave.nsi.in =================================================================== --- trunk/octave-forge/admin/Windows/msvc/octave.nsi.in 2007-11-13 21:11:06 UTC (rev 4213) +++ trunk/octave-forge/admin/Windows/msvc/octave.nsi.in 2007-11-14 08:30:38 UTC (rev 4214) @@ -134,10 +134,12 @@ File "${VCLIBS_ROOT}\bin\glpk_4_19.dll" File "${VCLIBS_ROOT}\bin\fftw-wisdom.exe" File "${VCLIBS_ROOT}\bin\zlib1.dll" + File "${VCLIBS_ROOT}\bin\libcurl.dll" ; licenses SetOutPath "$INSTDIR\license" File "${VCLIBS_ROOT}\license\COPYING.GPL" File "${VCLIBS_ROOT}\license\COPYING.HDF5" + File "${VCLIBS_ROOT}\license\COPYING.CURL" ; info files SetOutPath "$INSTDIR\share\info" File "${OCTAVE_ROOT}\share\info\*.*" Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-13 21:11:06 UTC (rev 4213) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-14 08:30:38 UTC (rev 4214) @@ -1527,6 +1527,7 @@ nmake VC=vc8 vc-dll-zlib-dll && cp lib/libcurl.dll "$tbindir" && cp lib/libcurl.lib "$tlibdir" && + cp COPYING "$tlicdir/COPYING.CURL" && mkdir "$tincludedir/curl" && cp include/curl/*.h "$tincludedir/curl") >&5 2>&1 rm -rf "$DOWNLOAD_DIR/curl-$curlver" if test ! -f "$tbindir/libcurl.dll"; then This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2007-11-15 15:21:37
|
Revision: 4219 http://octave.svn.sourceforge.net/octave/?rev=4219&view=rev Author: goffioul Date: 2007-11-15 07:21:28 -0800 (Thu, 15 Nov 2007) Log Message: ----------- update PCRE to 7.4 (using its CMake-based build system) Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Added Paths: ----------- trunk/octave-forge/admin/Windows/msvc/libs/pcre.rc.in Added: trunk/octave-forge/admin/Windows/msvc/libs/pcre.rc.in =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/pcre.rc.in (rev 0) +++ trunk/octave-forge/admin/Windows/msvc/libs/pcre.rc.in 2007-11-15 15:21:28 UTC (rev 4219) @@ -0,0 +1,31 @@ +#define WINDOWS_LEAN_AND_MEAN +#include <windows.h> + +VS_VERSION_INFO VERSIONINFO +FILEVERSION @PCRE_MAJOR@, @PCRE_MINOR@, 0, 0 +PRODUCTVERSION @PCRE_MAJOR@, @PCRE_MINOR@, 0, 0 +FILEFLAGSMASK 0x3fL +FILEFLAGS 0 +FILEOS VOS_NT_WINDOWS32 +FILETYPE VFT_APP +FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Philip Hazel <ph...@ca...>\0" + VALUE "FileDescription", "Perl Compatible Regular Expression Library\0" + VALUE "FileVersion", "@PCRE_MAJOR@.@PCRE_MINOR@\0" + VALUE "InternalName", "Pcre\0" + VALUE "LegalCopyright", "@PCRE_COPYRIGHT@\0" + VALUE "OriginalFilename", "pcre.dll\0" + VALUE "ProductName", "Pcre\0" + VALUE "ProductVersion", "@PCRE_MAJOR@.@PCRE_MINOR@\0" + END + END +END Property changes on: trunk/octave-forge/admin/Windows/msvc/libs/pcre.rc.in ___________________________________________________________________ Name: svn:executable + * Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-14 15:52:34 UTC (rev 4218) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-15 15:21:28 UTC (rev 4219) @@ -10,6 +10,7 @@ # - unzip (GnuWin32) # - octave-forge CVS tree (at least the admin/Windows/msvc/ directory) # - cygwin with gcc (to compile ATLAS) +# - CMake (to compile some specific packages) # ################################################################################### @@ -47,6 +48,11 @@ download_root="http://downloads.sourceforge.net/octave/@@?download" #download_root="http://www.dbateman.org/octave/hidden/@@" +# Package versions (the build instructions for those +# packages are version-independent) +pcrever=7.4 +curlver=7.16.4 + ################################################################################### function download_file @@ -164,6 +170,15 @@ return -1 } +function check_cmake +{ + cmake=`which cmake.exe` + if test -z "$cmake"; then + echo "CMake not found in PATH" + exit -1 + fi +} + ################################################################################### # Check Visual Studio availability @@ -320,7 +335,7 @@ fi fi todo_check "$tbindir/libfftw3-3.dll" FFTW - todo_check "$tbindir/pcre70.dll" PCRE + todo_check "$tbindir/pcre.dll" PCRE todo_check "$tbindir/glpk_4_19.dll" GLPK todo_check "$tbindir/ncurses.dll" ncurses todo_check "$tbindir/readline.dll" readline @@ -597,20 +612,32 @@ ######## if check_package PCRE; then - download_file pcre-7.0.tar.gz ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.0.tar.gz + check_cmake + download_file pcre-$pcrever.tar.bz2 ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-$pcrever.tar.bz2 echo -n "decompressing PCRE... " - (cd "$DOWNLOAD_DIR" && tar xfz pcre-7.0.tar.gz) + unpack_file pcre-$pcrever.tar.bz2 echo "done" echo -n "compiling PCRE... " - cp libs/pcre-7.0.diff "$DOWNLOAD_DIR/pcre-7.0" - (cd "$DOWNLOAD_DIR/pcre-7.0" && - patch -p1 < pcre-7.0.diff && - nmake -f Makefile.vc && - cp pcre70.dll "$tbindir" && - cp pcre.lib "$tlibdir" && - cp pcre.h "$tincludedir") >&5 2>&1 - rm -rf "$DOWNLOAD_DIR/pcre-7.0" - if ! test -f "$tbindir/pcre70.dll"; then + cp libs/pcre.rc.in "$DOWNLOAD_DIR/pcre-$pcrever" + pcre_major=`echo $pcrever | sed -e 's/\..*//'` + pcre_minor=`echo $pcrever | sed -e 's/.*\.//'` + pcre_copyright=`grep -e '^Copyright' "$DOWNLOAD_DIR/pcre-$pcrever/LICENCE" | head -n 1` + (cd "$DOWNLOAD_DIR/pcre-$pcrever" && + sed -e "s/@PCRE_MAJOR@/$pcre_major/" \ + -e "s/@PCRE_MINOR@/$pcre_minor/" \ + -e "s/@PCRE_COPYRIGHT@/$pcre_copyright/" pcre.rc.in > pcre.rc && + sed -e "s/SET(PCRE_SOURCES/SET(PCRE_SOURCES pcre.rc/" CMakeLists.txt > ttt && + mv ttt CMakeLists.txt && + cmake -G "NMake Makefiles" -D BUILD_SHARED_LIBS:BOOL=ON \ + -D PCRE_NEWLINE:STRING=ANYCRLF \ + -D PCRE_SUPPORT_UNICODE_PROPERTIES:BOOL=ON \ + -D PCRE_BUILD_PCRECPP:BOOL=OFF \ + -D CMAKE_BUILD_TYPE:STRING=Release \ + -D "CMAKE_INSTALL_PREFIX:STRING=$tdir_w32_forward" . && + nmake && + nmake install) >&5 2>&1 + rm -rf "$DOWNLOAD_DIR/pcre-$pcrever" + if ! test -f "$tbindir/pcre.dll"; then echo "failed" exit -1 else @@ -1512,7 +1539,6 @@ # libcurl # ########### -curlver=7.16.4 if check_package libcurl; then download_file curl-$curlver.tar.bz2 http://curl.haxx.se/download/curl-$curlver.tar.bz2 echo -n "decompressing libcurl... " This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2007-11-16 11:00:33
|
Revision: 4226 http://octave.svn.sourceforge.net/octave/?rev=4226&view=rev Author: goffioul Date: 2007-11-16 03:00:30 -0800 (Fri, 16 Nov 2007) Log Message: ----------- upgrade GLPK to 4.23 and use generic compilation + make RC files on the fly Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Removed Paths: ------------- trunk/octave-forge/admin/Windows/msvc/libs/pcre.rc.in Deleted: trunk/octave-forge/admin/Windows/msvc/libs/pcre.rc.in =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/pcre.rc.in 2007-11-16 09:23:46 UTC (rev 4225) +++ trunk/octave-forge/admin/Windows/msvc/libs/pcre.rc.in 2007-11-16 11:00:30 UTC (rev 4226) @@ -1,31 +0,0 @@ -#define WINDOWS_LEAN_AND_MEAN -#include <windows.h> - -VS_VERSION_INFO VERSIONINFO -FILEVERSION @PCRE_MAJOR@, @PCRE_MINOR@, 0, 0 -PRODUCTVERSION @PCRE_MAJOR@, @PCRE_MINOR@, 0, 0 -FILEFLAGSMASK 0x3fL -FILEFLAGS 0 -FILEOS VOS_NT_WINDOWS32 -FILETYPE VFT_APP -FILESUBTYPE VFT2_UNKNOWN -BEGIN - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", "Philip Hazel <ph...@ca...>\0" - VALUE "FileDescription", "Perl Compatible Regular Expression Library\0" - VALUE "FileVersion", "@PCRE_MAJOR@.@PCRE_MINOR@\0" - VALUE "InternalName", "Pcre\0" - VALUE "LegalCopyright", "@PCRE_COPYRIGHT@\0" - VALUE "OriginalFilename", "pcre.dll\0" - VALUE "ProductName", "Pcre\0" - VALUE "ProductVersion", "@PCRE_MAJOR@.@PCRE_MINOR@\0" - END - END -END Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-16 09:23:46 UTC (rev 4225) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-16 11:00:30 UTC (rev 4226) @@ -53,6 +53,7 @@ pcrever=7.4 curlver=7.16.4 libpngver=1.2.23 +glpkver=4.23 ################################################################################### @@ -180,6 +181,55 @@ fi } +function create_module_rc +{ + module_name=$1 + module_version=$2 + module_filename=$3 + module_company="$4" + module_desc="$5" + module_copyright="$6" + module_major=`echo $module_version | sed -e "s/\..*//"` + module_minor=`echo $module_version | sed -e "s/^[^.]*\.//" -e "s/\..*//"` + module_patch=`echo $module_version | sed -e "s/.*\.//"` + if test "$module_minor" = "$module_patch"; then + module_patch=0 + fi + cat <<EOF +#define WINDOWS_LEAN_AND_MEAN +#include <windows.h> + +VS_VERSION_INFO VERSIONINFO +FILEVERSION $module_major, $module_minor, $module_patch, 0 +PRODUCTVERSION $module_major, $module_minor, $module_patch, 0 +FILEFLAGSMASK 0x3fL +FILEFLAGS 0 +FILEOS VOS_NT_WINDOWS32 +FILETYPE VFT_APP +FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "$module_company\\0" + VALUE "FileDescription", "$module_desc\\0" + VALUE "FileVersion", "$module_version\\0" + VALUE "InternalName", "$module_name\\0" + VALUE "LegalCopyright", "$module_copyright\\0" + VALUE "OriginalFilename", "$module_filename\\0" + VALUE "ProductName", "$module_name\\0" + VALUE "ProductVersion", "$module_version\\0" + END + END +END +EOF +} + ################################################################################### # Check Visual Studio availability @@ -337,7 +387,7 @@ fi todo_check "$tbindir/libfftw3-3.dll" FFTW todo_check "$tbindir/pcre.dll" PCRE - todo_check "$tbindir/glpk_4_19.dll" GLPK + todo_check "$tbindir/glpk.dll" GLPK todo_check "$tbindir/ncurses.dll" ncurses todo_check "$tbindir/readline.dll" readline todo_check "$tbindir/zlib1.dll" zlib @@ -619,14 +669,11 @@ unpack_file pcre-$pcrever.tar.bz2 echo "done" echo -n "compiling PCRE... " - cp libs/pcre.rc.in "$DOWNLOAD_DIR/pcre-$pcrever" - pcre_major=`echo $pcrever | sed -e 's/\..*//'` - pcre_minor=`echo $pcrever | sed -e 's/.*\.//'` + pcre_desc="Perl Compatible Regular Expression Library" + pcre_company="Philip Hazel <ph...@ca...>" pcre_copyright=`grep -e '^Copyright' "$DOWNLOAD_DIR/pcre-$pcrever/LICENCE" | head -n 1` (cd "$DOWNLOAD_DIR/pcre-$pcrever" && - sed -e "s/@PCRE_MAJOR@/$pcre_major/" \ - -e "s/@PCRE_MINOR@/$pcre_minor/" \ - -e "s/@PCRE_COPYRIGHT@/$pcre_copyright/" pcre.rc.in > pcre.rc && + create_module_rc PCRE $pcrever pcre.dll "$pcre_company" "$pcre_desc" "$pcre_copyright" > pcre.rc && sed -e "s/SET(PCRE_SOURCES/SET(PCRE_SOURCES pcre.rc/" CMakeLists.txt > ttt && mv ttt CMakeLists.txt && cmake -G "NMake Makefiles" -D BUILD_SHARED_LIBS:BOOL=ON \ @@ -668,21 +715,30 @@ ######## if check_package GLPK; then - download_file glpk-4.19.tar.gz ftp://ftp.gnu.org/gnu/glpk/glpk-4.19.tar.gz + download_file glpk-$glpkver.tar.gz ftp://ftp.gnu.org/gnu/glpk/glpk-$glpkver.tar.gz echo -n "decompressing GLPK... " - (cd "$DOWNLOAD_DIR" && tar xfz glpk-4.19.tar.gz) - cp libs/glpk-4.19.diff "$DOWNLOAD_DIR/glpk-4.19" + unpack_file glpk-$glpkver.tar.gz echo "done" echo -n "compiling GLPK... " - (cd "$DOWNLOAD_DIR/glpk-4.19" && - patch -p1 < glpk-4.19.diff && - cd w32 && - nmake -f Makefile_VC6_MT_DLL && + (cd "$DOWNLOAD_DIR/glpk-$glpkver/w32" && + glpk_company="GNU <www.gnu.org>" && + glpk_desc=`grep -e '^DESCRIPTION' glpk_*.def | sed -e 's/^DESCRIPTION \+//' -e 's/"//g'` && + glpk_copyright=`grep -e '^Copyright' ../README | head -n 1 | sed -e 's/,$//'` && + create_module_rc GLPK $glpkver glpk.dll "$glpk_company" "$glpk_desc" "$glpk_copyright" > glpk.rc && + sed -e "s,^LIBRARY \+glpk_.*$,LIBRARY glpk," glpk_*.def > glpk.def && + sed -e "s,/MT,/MD,g" \ + -e "s,^CFLAGS \+=,CFLAGS = /O2," \ + -e "s,glpk_.*\.dll,glpk.dll,g" \ + -e "s,glpk_.*\.lib,glpk.lib,g" \ + -e "s,glpk_.*\.def,glpk.def,g" \ + -e "s,^glpk\.dll:,glpk.dll: glpk.res," \ + -e "s,/Feglpk\.dll,/Feglpk.dll glpk.res," Makefile_VC6_MT_DLL > Makefile && + nmake && cp glpk.lib "$tlibdir" && cp ../include/glpk.h "$tincludedir" && - cp glpk_4_19.dll "$tbindir") >&5 2>&1 - rm -rf "$DOWNLOAD_DIR/glpk-4.19" - if ! test -f "$tbindir/glpk_4_19.dll"; then + cp glpk.dll "$tbindir") >&5 2>&1 + rm -rf "$DOWNLOAD_DIR/glpk-$glpkver" + if ! test -f "$tbindir/glpk.dll"; then echo "failed" exit -1 else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2007-11-19 13:06:36
|
Revision: 4244 http://octave.svn.sourceforge.net/octave/?rev=4244&view=rev Author: goffioul Date: 2007-11-19 05:06:34 -0800 (Mon, 19 Nov 2007) Log Message: ----------- upgrade lapack to 3.1.1 + add rc files to BLAS and LAPACK F77 implementations Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/libs/lapack.makefile trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Modified: trunk/octave-forge/admin/Windows/msvc/libs/lapack.makefile =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/lapack.makefile 2007-11-19 09:00:29 UTC (rev 4243) +++ trunk/octave-forge/admin/Windows/msvc/libs/lapack.makefile 2007-11-19 13:06:34 UTC (rev 4244) @@ -38,6 +38,9 @@ $(LIBTARGET): $(OBJECTS) $(LIB_DEFFILE) @echo $(OBJECTS) > link.tmp + @if test -f lapack.res; then \ + echo lapack.res >> link.tmp ; \ + fi $(CC) -shared -o $@ @link.tmp -lf2c -lblas -Wl,-def:$(LIB_DEFFILE) @rm -f link.tmp Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-19 09:00:29 UTC (rev 4243) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-19 13:06:34 UTC (rev 4244) @@ -50,6 +50,7 @@ # Package versions (the build instructions for those # packages are version-independent) +lapackver=3.1.1 pcrever=7.4 curlver=7.16.4 libpngver=1.2.23 @@ -193,8 +194,8 @@ module_copyright="$6" module_major=`echo $module_version | sed -e "s/\..*//"` module_minor=`echo $module_version | sed -e "s/^[^.]*\.//" -e "s/\..*//"` - module_patch=`echo $module_version | sed -e "s/.*\.//"` - if test "$module_minor" = "$module_patch"; then + module_patch=`echo $module_version | sed -n -e "s/[0-9]\+\.[0-9]\+\.//p"` + if test -z "$module_patch"; then module_patch=0 fi cat <<EOF @@ -466,15 +467,19 @@ ###### if check_package VC; then - msvc=`ls /c/WINDOWS/WinSxS/*/msvcr80.dll 2> /dev/null` + msvc=`ls /c/WINDOWS/WinSxS/*/msvcr80.dll 2> /dev/null | tail -n 1` if test -z "$msvc"; then echo "cannot find VC++ runtime libraries" exit -1 fi msvc_path=`echo $msvc | sed -e 's,/msvcr80.dll$,,'` + msvc_name=`echo $msvc_path | sed -e 's,.*/,,'` mkdir -p "$tbindir/Microsoft.VC80.CRT" cp $msvc_path/*.dll "$tbindir/Microsoft.VC80.CRT" - cat > "$tbindir/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest" << EOF + if true; then + cp "/c/WINDOWS/WinSxS/Manifests/$msvc_name.manifest" "$tbindir/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest" + else + cat > "$tbindir/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest" << EOF <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!-- Copyright \xA9 1981-2001 Microsoft Corporation --> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> @@ -491,11 +496,13 @@ <file name="msvcm80.dll"/> </assembly> EOF + fi if test ! -f "$tbindir/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest"; then echo "failed" exit -1 else - echo "done" + msvc_ver=`grep "version=" "$tbindir/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest" | tail -n 1 | sed -e "s/.*version=\"\([^ ]*\)\".*/\1/"` + echo "done (using version $msvc_ver)" fi fi @@ -564,11 +571,18 @@ ######## if check_package BLAS; then - download_file blas.tgz http://www.netlib.org/blas/blas.tgz + download_file blas.tgz ftp://ftp.netlib.org/blas/blas.tgz + unpack_file blas.tgz (cd "$DOWNLOAD_DIR" && tar xfz blas.tgz) echo -n "compiling BLAS... " cp libs/blas.makefile "$DOWNLOAD_DIR/BLAS" (cd "$DOWNLOAD_DIR/BLAS" && + sed -e "s/^OBJECTS =/OBJECTS = blas.res/" blas.makefile > ttt && + mv ttt blas.makefile && + echo "blas.res: blas.rc" >> blas.makefile && + echo " rc -fo \$@ \$<" >> blas.makefile && + create_module_rc BLAS 1.0 blas.dll "Netlib (http://www.netlib.org)" \ + "BLAS F77 Reference Implementation" "Public Domain" > blas.rc && make -f blas.makefile && cp blas.dll "$tbindir" && cp blas.lib "$tlibdir") >&5 2>&1 @@ -586,17 +600,22 @@ ########## if check_package LAPACK; then - download_file lapack-lite-3.1.0.tgz http://www.netlib.org/lapack/lapack-lite-3.1.0.tgz + download_file lapack-lite-$lapackver.tgz ftp://ftp.netlib.org/lapack/lapack-lite-$lapackver.tgz echo -n "decompressing LAPACK... " - (cd "$DOWNLOAD_DIR" && tar xfz lapack-lite-3.1.0.tgz) + unpack_file lapack-lite-$lapackver.tgz echo "done" echo -n "compiling LAPACK... " - cp libs/lapack.makefile "$DOWNLOAD_DIR/lapack-3.1.0/SRC" - (cd "$DOWNLOAD_DIR/lapack-3.1.0/SRC" && - make -f lapack.makefile && + cp libs/lapack.makefile "$DOWNLOAD_DIR/lapack-lite-$lapackver/SRC" + (cd "$DOWNLOAD_DIR/lapack-lite-$lapackver/SRC" && + lapack_copyright=`grep -e '^Copyright' ../COPYING | head -n 1` + create_module_rc LAPACK $lapackver lapack.dll "Netlib (http://www.netlib.org)" \ + "Lapack F77 Reference Implementation" "$lapack_copyright" > lapack.rc && + rc -fo lapack.res lapack.rc && + make -f lapack.makefile && cp lapack.dll "$tbindir" && - cp lapack.lib liblapack_f77.lib "$tlibdir") >&5 2>&1 - rm -rf "$DOWNLOAD_DIR/lapack-3.1.0" + cp lapack.lib liblapack_f77.lib "$tlibdir" && + cp ../COPYING "$tlicdir/COPYING.LAPACK") >&5 2>&1 + rm -rf "$DOWNLOAD_DIR/lapack-lite-$lapackver" if ! test -f "$tbindir/lapack.dll"; then echo "failed" exit -1 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2007-11-29 14:48:57
|
Revision: 4323 http://octave.svn.sourceforge.net/octave/?rev=4323&view=rev Author: goffioul Date: 2007-11-29 06:48:58 -0800 (Thu, 29 Nov 2007) Log Message: ----------- add patch for gettext-0.17 (+ a patch generator helper) Added Paths: ----------- trunk/octave-forge/admin/Windows/msvc/libs/gettext-0.17.diff trunk/octave-forge/admin/Windows/msvc/process_gettext.sh Added: trunk/octave-forge/admin/Windows/msvc/libs/gettext-0.17.diff =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/gettext-0.17.diff (rev 0) +++ trunk/octave-forge/admin/Windows/msvc/libs/gettext-0.17.diff 2007-11-29 14:48:58 UTC (rev 4323) @@ -0,0 +1,791 @@ +diff -ur gettext-0.17/gettext-runtime/config.h.in gettext-0.17-new/gettext-runtime/config.h.in +--- gettext-0.17/gettext-runtime/config.h.in Wed Nov 7 00:34:02 2007 ++++ gettext-0.17-new/gettext-runtime/config.h.in Thu Nov 29 15:45:03 2007 +@@ -655,3 +655,4 @@ + # include "intl/os2compat.h" + #endif + ++#define intmax_t long long +diff -ur gettext-0.17/gettext-runtime/configure gettext-0.17-new/gettext-runtime/configure +--- gettext-0.17/gettext-runtime/configure Wed Nov 7 00:33:39 2007 ++++ gettext-0.17-new/gettext-runtime/configure Thu Nov 29 15:44:42 2007 +@@ -32002,8 +32002,8 @@ + + _ACEOF + gl_cv_next_string_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/string.h#{ +- s#.*"\(.*/string.h\)".*#\1# ++ sed -n '\#[/\\]string.h#{ ++ s#.*"\(.*[/\\]string.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -33721,8 +33721,8 @@ + + _ACEOF + gl_cv_next_iconv_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/iconv.h#{ +- s#.*"\(.*/iconv.h\)".*#\1# ++ sed -n '\#[/\\]iconv.h#{ ++ s#.*"\(.*[/\\]iconv.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -35017,8 +35017,8 @@ + + _ACEOF + gl_cv_next_stdint_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/stdint.h#{ +- s#.*"\(.*/stdint.h\)".*#\1# ++ sed -n '\#[/\\]stdint.h#{ ++ s#.*"\(.*[/\\]stdint.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -36044,8 +36044,8 @@ + + _ACEOF + gl_cv_next_stdlib_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/stdlib.h#{ +- s#.*"\(.*/stdlib.h\)".*#\1# ++ sed -n '\#[/\\]stdlib.h#{ ++ s#.*"\(.*[/\\]stdlib.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -36583,8 +36583,8 @@ + + _ACEOF + gl_cv_next_unistd_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/unistd.h#{ +- s#.*"\(.*/unistd.h\)".*#\1# ++ sed -n '\#[/\\]unistd.h#{ ++ s#.*"\(.*[/\\]unistd.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -36805,8 +36805,8 @@ + + _ACEOF + gl_cv_next_wchar_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/wchar.h#{ +- s#.*"\(.*/wchar.h\)".*#\1# ++ sed -n '\#[/\\]wchar.h#{ ++ s#.*"\(.*[/\\]wchar.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -36891,8 +36891,8 @@ + + _ACEOF + gl_cv_next_wctype_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/wctype.h#{ +- s#.*"\(.*/wctype.h\)".*#\1# ++ sed -n '\#[/\\]wctype.h#{ ++ s#.*"\(.*[/\\]wctype.h\)".*#\1# + s#^/[^/]#//&# + p + q +diff -ur gettext-0.17/gettext-runtime/gnulib-lib/Makefile.in gettext-0.17-new/gettext-runtime/gnulib-lib/Makefile.in +--- gettext-0.17/gettext-runtime/gnulib-lib/Makefile.in Wed Nov 7 00:34:30 2007 ++++ gettext-0.17-new/gettext-runtime/gnulib-lib/Makefile.in Thu Nov 29 15:45:06 2007 +@@ -158,7 +158,7 @@ + ALLOCA = @ALLOCA@ + ALLOCA_H = @ALLOCA_H@ + AMTAR = @AMTAR@ +-AR = @AR@ ++AR = ar + AS = @AS@ + AUTOCONF = @AUTOCONF@ + AUTOHEADER = @AUTOHEADER@ +diff -ur gettext-0.17/gettext-runtime/intl/Makefile.in gettext-0.17-new/gettext-runtime/intl/Makefile.in +--- gettext-0.17/gettext-runtime/intl/Makefile.in Sun Nov 4 22:21:12 2007 ++++ gettext-0.17-new/gettext-runtime/intl/Makefile.in Thu Nov 29 15:45:02 2007 +@@ -85,7 +85,7 @@ + CPPFLAGS = @CPPFLAGS@ + CFLAGS = @CFLAGS@ @CFLAG_VISIBILITY@ + LDFLAGS = @LDFLAGS@ $(LDFLAGS_@WOE32DLL@) +-LDFLAGS_yes = -Wl,--export-all-symbols ++LDFLAGS_yes = -Wl,libintl.res -Wl,--export-all-symbols + LDFLAGS_no = + LIBS = @LIBS@ + +@@ -307,7 +307,7 @@ + -e 's,@''HAVE_SNPRINTF''@,@HAVE_SNPRINTF@,g' \ + -e 's,@''HAVE_WPRINTF''@,@HAVE_WPRINTF@,g' \ + < $(srcdir)/libgnuintl.h.in \ +- | if test '@WOE32DLL@' = yes; then \ ++ | if test 'no' = yes; then \ + sed -e 's/extern \([^()]*\);/extern __declspec (dllimport) \1;/'; \ + else \ + cat; \ +diff -ur gettext-0.17/gettext-runtime/intl/export.h gettext-0.17-new/gettext-runtime/intl/export.h +--- gettext-0.17/gettext-runtime/intl/export.h Wed Jul 27 13:23:13 2005 ++++ gettext-0.17-new/gettext-runtime/intl/export.h Thu Nov 29 15:45:01 2007 +@@ -2,5 +2,9 @@ + #if @HAVE_VISIBILITY@ && BUILDING_LIBINTL + #define LIBINTL_DLL_EXPORTED __attribute__((__visibility__("default"))) + #else +-#define LIBINTL_DLL_EXPORTED ++#ifdef BUILDING_LIBINTL ++#define LIBINTL_DLL_EXPORTED __declspec(dllexport) ++#else ++#define LIBINTL_DLL_EXPORTED __declspec(dllimport) ++#endif + #endif +diff -ur gettext-0.17/gettext-runtime/libasprintf/Makefile.in gettext-0.17-new/gettext-runtime/libasprintf/Makefile.in +--- gettext-0.17/gettext-runtime/libasprintf/Makefile.in Wed Nov 7 00:35:22 2007 ++++ gettext-0.17-new/gettext-runtime/libasprintf/Makefile.in Thu Nov 29 15:45:05 2007 +@@ -290,7 +290,7 @@ + # How to build libasprintf. + # With libtool 1.5.14, on some platforms, like BeOS, "libtool --tag=CXX" fails + # to create a shared library, however "libtool --tag=CC" succeeds. +-libasprintf_la_LDFLAGS = @LTNOUNDEF@ ++libasprintf_la_LDFLAGS = -Wl,-def:asprintf.def @LTNOUNDEF@ + MAKEINFOFLAGS = --no-split + info_TEXINFOS = autosprintf.texi + CLEANFILES = autosprintf.pdf +@@ -958,7 +958,7 @@ + dist-hook: + rm -f $(distdir)/autosprintf.h + lib-asprintf.lo: $(lib_asprintf_EXTRASOURCES) +-libasprintf.la: $(libasprintf_la_OBJECTS) $(libasprintf_la_DEPENDENCIES) ++libasprintf.la: $(libasprintf_la_OBJECTS) $(libasprintf_la_DEPENDENCIES) asprintf.def + $(CXXLINK) -rpath $(libdir) $(libasprintf_la_LDFLAGS) $(libasprintf_la_OBJECTS) $(libasprintf_la_LIBADD) $(LIBS) || \ + $(LINK) -rpath $(libdir) $(libasprintf_la_LDFLAGS) $(libasprintf_la_OBJECTS) $(libasprintf_la_LIBADD) $(LIBS) + +@@ -1031,3 +1031,7 @@ + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: ++asprintf.def: $(libasprintf_la_OBJECTS) ++ echo "EXPORTS" > $@ ++ nm $(addprefix .libs/, $(libasprintf_la_OBJECTS:.lo=.o)) | \ ++ sed -n -e 's/^.* T _\(.*\)$/\1/p' >> $@ +diff -ur gettext-0.17/gettext-runtime/libasprintf/config.h.in gettext-0.17-new/gettext-runtime/libasprintf/config.h.in +--- gettext-0.17/gettext-runtime/libasprintf/config.h.in Wed Nov 7 00:35:10 2007 ++++ gettext-0.17-new/gettext-runtime/libasprintf/config.h.in Thu Nov 29 15:45:04 2007 +@@ -135,3 +135,4 @@ + + /* Define to `unsigned int' if <sys/types.h> does not define. */ + #undef size_t ++#define intmax_t long long +diff -ur gettext-0.17/gettext-tools/config.h.in gettext-0.17-new/gettext-tools/config.h.in +--- gettext-0.17/gettext-tools/config.h.in Wed Nov 7 00:38:27 2007 ++++ gettext-0.17-new/gettext-tools/config.h.in Thu Nov 29 15:45:07 2007 +@@ -1024,7 +1024,7 @@ + #define gl_va_copy(a,b) ((a) = (b)) + + /* Define to rpl_gmtime if the replacement function should be used. */ +-#undef gmtime ++/*#undef gmtime*/ + + /* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +@@ -1036,7 +1036,7 @@ + #undef intmax_t + + /* Define to rpl_localtime if the replacement function should be used. */ +-#undef localtime ++/*#undef localtime*/ + + /* Define to a type if <wchar.h> does not define. */ + #undef mbstate_t +diff -ur gettext-0.17/gettext-tools/configure gettext-0.17-new/gettext-tools/configure +--- gettext-0.17/gettext-tools/configure Wed Nov 7 00:37:40 2007 ++++ gettext-0.17-new/gettext-tools/configure Thu Nov 29 15:44:59 2007 +@@ -33226,8 +33226,8 @@ + + _ACEOF + gl_cv_next_sys_time_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/sys/time.h#{ +- s#.*"\(.*/sys/time.h\)".*#\1# ++ sed -n '\#[/\\]sys[/\\]time.h#{ ++ s#.*"\(.*[/\\]sys[/\\]time.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -35589,8 +35589,8 @@ + + _ACEOF + gl_cv_next_string_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/string.h#{ +- s#.*"\(.*/string.h\)".*#\1# ++ sed -n '\#[/\\]string.h#{ ++ s#.*"\(.*[/\\]string.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -42511,8 +42511,8 @@ + + _ACEOF + gl_cv_next_fcntl_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/fcntl.h#{ +- s#.*"\(.*/fcntl.h\)".*#\1# ++ sed -n '\#[/\\]fcntl.h#{ ++ s#.*"\(.*[/\\]fcntl.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -42580,8 +42580,8 @@ + + _ACEOF + gl_cv_next_float_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/float.h#{ +- s#.*"\(.*/float.h\)".*#\1# ++ sed -n '\#[/\\]float.h#{ ++ s#.*"\(.*[/\\]float.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -44783,8 +44783,8 @@ + + _ACEOF + gl_cv_next_iconv_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/iconv.h#{ +- s#.*"\(.*/iconv.h\)".*#\1# ++ sed -n '\#[/\\]iconv.h#{ ++ s#.*"\(.*[/\\]iconv.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -45571,8 +45571,8 @@ + #include <libcroco-0.6/libcroco/libcroco-config.h> + _ACEOF + gl_cv_absolute_libcroco_0_6_libcroco_libcroco_config_h=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +-sed -n '\#/libcroco-0.6/libcroco/libcroco-config.h#{ +- s#.*"\(.*/libcroco-0.6/libcroco/libcroco-config.h\)".*#\1# ++sed -n '\#[/\\]libcroco-0.6[/\\]libcroco[/\\]libcroco-config.h#{ ++ s#.*"\(.*[/\\]libcroco-0.6[/\\]libcroco[/\\]libcroco-config.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -47061,8 +47061,8 @@ + #include <libxml2/libxml/xmlversion.h> + _ACEOF + gl_cv_absolute_libxml2_libxml_xmlversion_h=`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +-sed -n '\#/libxml2/libxml/xmlversion.h#{ +- s#.*"\(.*/libxml2/libxml/xmlversion.h\)".*#\1# ++sed -n '\#[/\\]libxml2[/\\]libxml[/\\]xmlversion.h#{ ++ s#.*"\(.*[/\\]libxml2[/\\]libxml[/\\]xmlversion.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -47689,8 +47689,8 @@ + + _ACEOF + gl_cv_next_locale_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/locale.h#{ +- s#.*"\(.*/locale.h\)".*#\1# ++ sed -n '\#[/\\]locale.h#{ ++ s#.*"\(.*[/\\]locale.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -50838,8 +50838,8 @@ + + _ACEOF + gl_cv_next_signal_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/signal.h#{ +- s#.*"\(.*/signal.h\)".*#\1# ++ sed -n '\#[/\\]signal.h#{ ++ s#.*"\(.*[/\\]signal.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -52321,8 +52321,8 @@ + + _ACEOF + gl_cv_next_stdint_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/stdint.h#{ +- s#.*"\(.*/stdint.h\)".*#\1# ++ sed -n '\#[/\\]stdint.h#{ ++ s#.*"\(.*[/\\]stdint.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -53474,8 +53474,8 @@ + + _ACEOF + gl_cv_next_stdio_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/stdio.h#{ +- s#.*"\(.*/stdio.h\)".*#\1# ++ sed -n '\#[/\\]stdio.h#{ ++ s#.*"\(.*[/\\]stdio.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -53526,8 +53526,8 @@ + + _ACEOF + gl_cv_next_stdlib_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/stdlib.h#{ +- s#.*"\(.*/stdlib.h\)".*#\1# ++ sed -n '\#[/\\]stdlib.h#{ ++ s#.*"\(.*[/\\]stdlib.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -54779,8 +54779,8 @@ + + _ACEOF + gl_cv_next_sys_stat_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/sys/stat.h#{ +- s#.*"\(.*/sys/stat.h\)".*#\1# ++ sed -n '\#[/\\]sys[/\\]stat.h#{ ++ s#.*"\(.*[/\\]sys[/\\]stat.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -55205,8 +55205,8 @@ + + _ACEOF + gl_cv_next_unistd_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/unistd.h#{ +- s#.*"\(.*/unistd.h\)".*#\1# ++ sed -n '\#[/\\]unistd.h#{ ++ s#.*"\(.*[/\\]unistd.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -56306,8 +56306,8 @@ + + _ACEOF + gl_cv_next_wchar_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/wchar.h#{ +- s#.*"\(.*/wchar.h\)".*#\1# ++ sed -n '\#[/\\]wchar.h#{ ++ s#.*"\(.*[/\\]wchar.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -56392,8 +56392,8 @@ + + _ACEOF + gl_cv_next_wctype_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/wctype.h#{ +- s#.*"\(.*/wctype.h\)".*#\1# ++ sed -n '\#[/\\]wctype.h#{ ++ s#.*"\(.*[/\\]wctype.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -58030,8 +58030,8 @@ + + _ACEOF + gl_cv_next_iconv_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/iconv.h#{ +- s#.*"\(.*/iconv.h\)".*#\1# ++ sed -n '\#[/\\]iconv.h#{ ++ s#.*"\(.*[/\\]iconv.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -59684,8 +59684,8 @@ + + _ACEOF + gl_cv_next_stdint_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/stdint.h#{ +- s#.*"\(.*/stdint.h\)".*#\1# ++ sed -n '\#[/\\]stdint.h#{ ++ s#.*"\(.*[/\\]stdint.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -60711,8 +60711,8 @@ + + _ACEOF + gl_cv_next_stdio_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/stdio.h#{ +- s#.*"\(.*/stdio.h\)".*#\1# ++ sed -n '\#[/\\]stdio.h#{ ++ s#.*"\(.*[/\\]stdio.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -60763,8 +60763,8 @@ + + _ACEOF + gl_cv_next_stdlib_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/stdlib.h#{ +- s#.*"\(.*/stdlib.h\)".*#\1# ++ sed -n '\#[/\\]stdlib.h#{ ++ s#.*"\(.*[/\\]stdlib.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -61212,8 +61212,8 @@ + + _ACEOF + gl_cv_next_unistd_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/unistd.h#{ +- s#.*"\(.*/unistd.h\)".*#\1# ++ sed -n '\#[/\\]unistd.h#{ ++ s#.*"\(.*[/\\]unistd.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -61599,8 +61599,8 @@ + + _ACEOF + gl_cv_next_wchar_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/wchar.h#{ +- s#.*"\(.*/wchar.h\)".*#\1# ++ sed -n '\#[/\\]wchar.h#{ ++ s#.*"\(.*[/\\]wchar.h\)".*#\1# + s#^/[^/]#//&# + p + q +@@ -61685,8 +61685,8 @@ + + _ACEOF + gl_cv_next_wctype_h='"'`(eval "$ac_cpp conftest.$ac_ext") 2>&5 | +- sed -n '\#/wctype.h#{ +- s#.*"\(.*/wctype.h\)".*#\1# ++ sed -n '\#[/\\]wctype.h#{ ++ s#.*"\(.*[/\\]wctype.h\)".*#\1# + s#^/[^/]#//&# + p + q +diff -ur gettext-0.17/gettext-tools/gnulib-lib/Makefile.in gettext-0.17-new/gettext-tools/gnulib-lib/Makefile.in +--- gettext-0.17/gettext-tools/gnulib-lib/Makefile.in Wed Nov 7 00:39:50 2007 ++++ gettext-0.17-new/gettext-tools/gnulib-lib/Makefile.in Thu Nov 29 15:45:23 2007 +@@ -317,7 +317,7 @@ + xerror.h xerror.c xmalloca.c xreadlink.c xsetenv.h xsetenv.c \ + xsize.h xstriconv.h xstriconv.c xvasprintf.h xvasprintf.c \ + xasprintf.c +-@WOE32DLL_TRUE@am__objects_1 = ../woe32dll/gettextlib-exports.lo ++ + @WOE32DLL_FALSE@am__objects_2 = html-styled-ostream.lo + @WOE32DLL_TRUE@am__objects_3 = ../woe32dll/c++html-styled-ostream.lo + @WOE32DLL_FALSE@am__objects_4 = term-styled-ostream.lo +@@ -1173,7 +1173,7 @@ + # Need @LTLIBICONV@ because linebreak.c and striconv.c use iconv(). + # Need @LIB_ACL@ because copy-file.c uses acl.h. + # Need @LTLIBC@ for -no-undefined to work on many platforms. +-libgettextlib_la_LDFLAGS = $(AM_LDFLAGS) -release @VERSION@ \ ++libgettextlib_la_LDFLAGS = -Wl,-def:gettextlib.def -Wl,gettext.res $(AM_LDFLAGS) -release @VERSION@ \ + @LTLIBINTL@ @LTLIBICONV@ @LIB_ACL@ @LTLIBC@ @LTNOUNDEF@ \ + $(am__append_3) $(am__append_11) + +@@ -1500,7 +1500,7 @@ + libxml/xmlwriter.lo: libxml/$(am__dirstamp) + libxml/xpath.lo: libxml/$(am__dirstamp) + libxml/xpointer.lo: libxml/$(am__dirstamp) +-libgettextlib.la: $(libgettextlib_la_OBJECTS) $(libgettextlib_la_DEPENDENCIES) ++libgettextlib.la: $(libgettextlib_la_OBJECTS) $(libgettextlib_la_DEPENDENCIES) gettextlib.def + $(libgettextlib_la_LINK) -rpath $(libdir) $(libgettextlib_la_OBJECTS) $(libgettextlib_la_LIBADD) $(LIBS) + glib/libglib_rpl_la-ghash.lo: glib/$(am__dirstamp) + glib/libglib_rpl_la-glist.lo: glib/$(am__dirstamp) +@@ -3379,3 +3379,9 @@ + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: ++allobjects = $(libgettextlib_la_OBJECTS) $(gl_LTLIBOBJS) ++gettextlib.def: $(allobjects) ++ echo "EXPORTS" > $@ ++ nm $(join $(dir $(allobjects)), $(addprefix .libs/, $(notdir $(allobjects:.lo=.o)))) | \ ++ sed -n -e 's/^.* T _\(.*\)$$/\1/p' | sort | uniq >> $@ ++ sed -n -e 's/^VARIABLE(\(.*\))/\1 DATA/p' ../woe32dll/gettextlib-exports.c >> $@ +diff -ur gettext-0.17/gettext-tools/gnulib-lib/html-styled-ostream.h gettext-0.17-new/gettext-tools/gnulib-lib/html-styled-ostream.h +--- gettext-0.17/gettext-tools/gnulib-lib/html-styled-ostream.h Sun Oct 7 22:55:39 2007 ++++ gettext-0.17-new/gettext-tools/gnulib-lib/html-styled-ostream.h Thu Nov 29 15:45:11 2007 +@@ -130,6 +130,13 @@ + + #endif + ++#ifdef __cplusplus ++extern "C" { ++#endif ++extern const typeinfo_t html_styled_ostream_typeinfo; ++#ifdef __cplusplus ++}; ++#endif + extern const typeinfo_t html_styled_ostream_typeinfo; + #define html_styled_ostream_SUPERCLASSES &html_styled_ostream_typeinfo, styled_ostream_SUPERCLASSES + #define html_styled_ostream_SUPERCLASSES_LENGTH (1 + styled_ostream_SUPERCLASSES_LENGTH) +diff -ur gettext-0.17/gettext-tools/gnulib-lib/ostream.h gettext-0.17-new/gettext-tools/gnulib-lib/ostream.h +--- gettext-0.17/gettext-tools/gnulib-lib/ostream.h Sun Oct 7 22:55:41 2007 ++++ gettext-0.17-new/gettext-tools/gnulib-lib/ostream.h Thu Nov 29 15:45:15 2007 +@@ -108,6 +108,13 @@ + + #endif + ++#ifdef __cplusplus ++extern "C" { ++#endif ++extern const typeinfo_t ostream_typeinfo; ++#ifdef __cplusplus ++}; ++#endif + extern const typeinfo_t ostream_typeinfo; + #define ostream_SUPERCLASSES &ostream_typeinfo, NULL + #define ostream_SUPERCLASSES_LENGTH (1 + 1) +diff -ur gettext-0.17/gettext-tools/gnulib-lib/setenv.c gettext-0.17-new/gettext-tools/gnulib-lib/setenv.c +--- gettext-0.17/gettext-tools/gnulib-lib/setenv.c Sun Oct 7 22:29:34 2007 ++++ gettext-0.17-new/gettext-tools/gnulib-lib/setenv.c Thu Nov 29 15:45:16 2007 +@@ -39,7 +39,7 @@ + #if !_LIBC + # define __environ environ + # ifndef HAVE_ENVIRON_DECL +-extern char **environ; ++#define __environ _environ + # endif + #endif + +diff -ur gettext-0.17/gettext-tools/gnulib-lib/styled-ostream.h gettext-0.17-new/gettext-tools/gnulib-lib/styled-ostream.h +--- gettext-0.17/gettext-tools/gnulib-lib/styled-ostream.h Sun Oct 7 22:55:43 2007 ++++ gettext-0.17-new/gettext-tools/gnulib-lib/styled-ostream.h Thu Nov 29 15:45:13 2007 +@@ -132,6 +132,13 @@ + + #endif + ++#ifdef __cplusplus ++extern "C" { ++#endif ++extern DLL_VARIABLE const typeinfo_t styled_ostream_typeinfo; ++#ifdef __cplusplus ++}; ++#endif + extern DLL_VARIABLE const typeinfo_t styled_ostream_typeinfo; + #define styled_ostream_SUPERCLASSES &styled_ostream_typeinfo, ostream_SUPERCLASSES + #define styled_ostream_SUPERCLASSES_LENGTH (1 + ostream_SUPERCLASSES_LENGTH) +diff -ur gettext-0.17/gettext-tools/gnulib-lib/sys_stat.in.h gettext-0.17-new/gettext-tools/gnulib-lib/sys_stat.in.h +--- gettext-0.17/gettext-tools/gnulib-lib/sys_stat.in.h Thu Oct 4 00:24:57 2007 ++++ gettext-0.17-new/gettext-tools/gnulib-lib/sys_stat.in.h Thu Nov 29 15:45:09 2007 +@@ -265,7 +265,8 @@ + Additionally, it declares _mkdir (and depending on compile flags, an + alias mkdir), only in the nonstandard io.h. */ + #if ! @HAVE_DECL_MKDIR@ && @HAVE_IO_H@ +-# include <io.h> ++#include <direct.h> ++#include <io.h> + + static inline int + rpl_mkdir (char const *name, mode_t mode) +diff -ur gettext-0.17/gettext-tools/gnulib-lib/unsetenv.c gettext-0.17-new/gettext-tools/gnulib-lib/unsetenv.c +--- gettext-0.17/gettext-tools/gnulib-lib/unsetenv.c Sun Oct 7 22:29:39 2007 ++++ gettext-0.17-new/gettext-tools/gnulib-lib/unsetenv.c Thu Nov 29 15:45:17 2007 +@@ -28,7 +28,7 @@ + #if !_LIBC + # define __environ environ + # ifndef HAVE_ENVIRON_DECL +-extern char **environ; ++#define __environ _environ + # endif + #endif + +diff -ur gettext-0.17/gettext-tools/libgettextpo/Makefile.in gettext-0.17-new/gettext-tools/libgettextpo/Makefile.in +--- gettext-0.17/gettext-tools/libgettextpo/Makefile.in Wed Nov 7 00:39:59 2007 ++++ gettext-0.17-new/gettext-tools/libgettextpo/Makefile.in Thu Nov 29 15:45:32 2007 +@@ -258,7 +258,7 @@ + format-perl-brace.lo format-php.lo format-gcc-internal.lo \ + format-qt.lo format-kde.lo format-boost.lo format.lo \ + plural-exp.lo plural-eval.lo msgl-check.lo +-@WOE32DLL_TRUE@am__objects_2 = gettextpo-exports.lo ++ + am_libgettextpo_la_OBJECTS = gettext-po.lo $(am__objects_1) \ + $(am__objects_2) + libgettextpo_la_OBJECTS = $(am_libgettextpo_la_OBJECTS) +@@ -871,7 +871,7 @@ + # Don't make it depend on libgettextsrc.la or libgettextlib.la, since they + # define an uncontrolled amount of symbols. + libgettextpo_la_LIBADD = libgnu.la $(WOE32_LDADD) +-libgettextpo_la_LDFLAGS = -version-info \ ++libgettextpo_la_LDFLAGS = -Wl,-def:gettextpo.def -Wl,libgettextpo.res -version-info \ + $(LTV_CURRENT):$(LTV_REVISION):$(LTV_AGE) -rpath $(libdir) \ + @LTLIBINTL@ @LTLIBICONV@ -lc @LTNOUNDEF@ $(am__append_2) + @WOE32_FALSE@WOE32_LDADD = +@@ -982,7 +982,7 @@ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +-libgettextpo.la: $(libgettextpo_la_OBJECTS) $(libgettextpo_la_DEPENDENCIES) ++libgettextpo.la: $(libgettextpo_la_OBJECTS) $(libgettextpo_la_DEPENDENCIES) gettextpo.def + $(libgettextpo_la_LINK) -rpath $(libdir) $(libgettextpo_la_OBJECTS) $(libgettextpo_la_LIBADD) $(LIBS) + libgnu.la: $(libgnu_la_OBJECTS) $(libgnu_la_DEPENDENCIES) + $(libgnu_la_LINK) $(libgnu_la_OBJECTS) $(libgnu_la_LIBADD) $(LIBS) +@@ -1401,7 +1401,7 @@ + sf=`echo "$$f" | sed -e 's,\\.[^.]*$$,,'`.c; \ + test -f $$sf || sf=$(srcdir)/$$sf; \ + of=`echo "$$f" | sed -e 's,^.*/,,' -e 's,\\.[^.]*$$,,'`.$(OBJEXT); \ +- $(COMPILE) -c $$sf || { rm -f config.h; exit 1; }; \ ++ $(COMPILE) -c $$sf 2>&1 1>/dev/null || { rm -f config.h; exit 1; }; \ + sh ./exported.sh $$of 1>&5; \ + rm -f $$of `echo "$$of" | sed -e 's,\\.$(OBJEXT)$$,.lo,'`; \ + ;; \ +@@ -1834,3 +1834,8 @@ + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: ++gettextpo.def: gettext-po.lo ++ echo "EXPORTS" > $@ ++ nm .libs/gettext-po.o | \ ++ sed -n -e 's/^.* T _\(.*\)$$/\1/p' | sort | uniq >> $@ ++ sed -n -e 's/^VARIABLE(\(.*\))/\1 DATA/p' ../woe32dll/gettextpo-exports.c >> $@ +diff -ur gettext-0.17/gettext-tools/libgrep/Makefile.in gettext-0.17-new/gettext-tools/libgrep/Makefile.in +--- gettext-0.17/gettext-tools/libgrep/Makefile.in Wed Nov 7 00:40:01 2007 ++++ gettext-0.17-new/gettext-tools/libgrep/Makefile.in Thu Nov 29 15:45:20 2007 +@@ -228,7 +228,7 @@ + ALLOCA = @ALLOCA@ + ALLOCA_H = @ALLOCA_H@ + AMTAR = @AMTAR@ +-AR = @AR@ ++AR = ar + AS = @AS@ + AUTOCONF = @AUTOCONF@ + AUTOHEADER = @AUTOHEADER@ +diff -ur gettext-0.17/gettext-tools/src/Makefile.in gettext-0.17-new/gettext-tools/src/Makefile.in +--- gettext-0.17/gettext-tools/src/Makefile.in Wed Nov 7 00:40:15 2007 ++++ gettext-0.17-new/gettext-tools/src/Makefile.in Thu Nov 29 15:45:21 2007 +@@ -259,7 +259,7 @@ + @WOE32DLL_TRUE@ format-perl.lo format-perl-brace.lo \ + @WOE32DLL_TRUE@ format-php.lo format-gcc-internal.lo \ + @WOE32DLL_TRUE@ format-qt.lo format-kde.lo format-boost.lo +-@WOE32DLL_TRUE@am__objects_3 = gettextsrc-exports.lo ++ + am_libgettextsrc_la_OBJECTS = $(am__objects_1) read-catalog.lo \ + color.lo write-catalog.lo write-properties.lo \ + write-stringtable.lo write-po.lo msgl-ascii.lo msgl-iconv.lo \ +@@ -1102,7 +1102,7 @@ + # Need @LTLIBINTL@ because many source files use gettext(). + # Need @LTLIBICONV@ because po-charset.c, po-lex.c, msgl-iconv.c, write-po.c + # use iconv(). +-libgettextsrc_la_LDFLAGS = -release @VERSION@ \ ++libgettextsrc_la_LDFLAGS = -Wl,-def:gettextsrc.def -Wl,gettext.res -release @VERSION@ \ + ../gnulib-lib/libgettextlib.la @LTLIBINTL@ @LTLIBICONV@ -lc \ + @LTNOUNDEF@ $(am__append_2) + +@@ -1162,7 +1162,7 @@ + @RELOCATABLE_VIA_LD_TRUE@msgen_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` + @RELOCATABLE_VIA_LD_TRUE@msgexec_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` + @RELOCATABLE_VIA_LD_TRUE@msgfilter_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` +-@RELOCATABLE_VIA_LD_TRUE@msggrep_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` ++@RELOCATABLE_VIA_LD_TRUE@msggrep_LDFLAGS = -lmsvcprt `$(RELOCATABLE_LDFLAGS) $(bindir)` + @RELOCATABLE_VIA_LD_TRUE@msginit_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` + @RELOCATABLE_VIA_LD_TRUE@msguniq_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` + @RELOCATABLE_VIA_LD_TRUE@recode_sr_latin_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)` +@@ -1357,7 +1357,7 @@ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +-libgettextsrc.la: $(libgettextsrc_la_OBJECTS) $(libgettextsrc_la_DEPENDENCIES) ++libgettextsrc.la: $(libgettextsrc_la_OBJECTS) $(libgettextsrc_la_DEPENDENCIES) gettextsrc.def + $(libgettextsrc_la_LINK) -rpath $(libdir) $(libgettextsrc_la_OBJECTS) $(libgettextsrc_la_LIBADD) $(LIBS) + install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) +@@ -2222,3 +2222,8 @@ + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: ++gettextsrc.def: $(libgettextsrc_la_OBJECTS) ++ echo "EXPORTS" > $@ ++ nm $(addprefix .libs/, $(libgettextsrc_la_OBJECTS:.lo=.o)) | \ ++ sed -n -e 's/^.* T _\(.*\)$$/\1/p' | sort | uniq >> $@ ++ sed -n -e 's/^VARIABLE(\(.*\))/\1 DATA/p' ../woe32dll/gettextsrc-exports.c >> $@ +diff -ur gettext-0.17/gettext-tools/src/hostname.c gettext-0.17-new/gettext-tools/src/hostname.c +--- gettext-0.17/gettext-tools/src/hostname.c Sun Oct 7 21:37:38 2007 ++++ gettext-0.17-new/gettext-tools/src/hostname.c Thu Nov 29 15:45:18 2007 +@@ -46,7 +46,9 @@ + #endif + + /* Get MAXHOSTNAMELEN. */ ++#ifdef HAVE_SYS_PARAM_H + #include <sys/param.h> ++#endif + #ifndef MAXHOSTNAMELEN + # define MAXHOSTNAMELEN 64 + #endif +diff -ur gettext-0.17/gettext-tools/src/read-po.h gettext-0.17-new/gettext-tools/src/read-po.h +--- gettext-0.17/gettext-tools/src/read-po.h Sun Oct 7 21:37:38 2007 ++++ gettext-0.17-new/gettext-tools/src/read-po.h Thu Nov 29 15:45:31 2007 +@@ -21,6 +21,12 @@ + #include "read-catalog-abstract.h" + + /* Describes a .po / .pot file parser. */ ++#ifdef __cplusplus ++extern "C" { ++#endif + extern DLL_VARIABLE const struct catalog_input_format input_format_po; ++#ifdef __cplusplus ++}; ++#endif + + #endif /* _READ_PO_H */ +diff -ur gettext-0.17/gettext-tools/src/read-properties.h gettext-0.17-new/gettext-tools/src/read-properties.h +--- gettext-0.17/gettext-tools/src/read-properties.h Sun Oct 7 21:37:38 2007 ++++ gettext-0.17-new/gettext-tools/src/read-properties.h Thu Nov 29 15:45:25 2007 +@@ -21,6 +21,12 @@ + #include "read-catalog-abstract.h" + + /* Describes a .properties file parser. */ ++#ifdef __cplusplus ++extern "C" { ++#endif + extern DLL_VARIABLE const struct catalog_input_format input_format_properties; ++#ifdef __cplusplus ++}; ++#endif + + #endif /* _READ_PROPERTIES_H */ +diff -ur gettext-0.17/gettext-tools/src/read-stringtable.h gettext-0.17-new/gettext-tools/src/read-stringtable.h +--- gettext-0.17/gettext-tools/src/read-stringtable.h Sun Oct 7 21:37:39 2007 ++++ gettext-0.17-new/gettext-tools/src/read-stringtable.h Thu Nov 29 15:45:28 2007 +@@ -21,6 +21,12 @@ + #include "read-catalog-abstract.h" + + /* Describes a .strings file parser. */ ++#ifdef __cplusplus ++extern "C" { ++#endif + extern DLL_VARIABLE const struct catalog_input_format input_format_stringtable; ++#ifdef __cplusplus ++}; ++#endif + + #endif /* _READ_STRINGTABLE_H */ +diff -ur gettext-0.17/gettext-tools/src/write-properties.h gettext-0.17-new/gettext-tools/src/write-properties.h +--- gettext-0.17/gettext-tools/src/write-properties.h Sun Oct 7 21:37:39 2007 ++++ gettext-0.17-new/gettext-tools/src/write-properties.h Thu Nov 29 15:45:27 2007 +@@ -21,6 +21,12 @@ + #include "write-catalog.h" + + /* Describes a PO file in Java .properties syntax. */ ++#ifdef __cplusplus ++extern "C" { ++#endif + extern DLL_VARIABLE const struct catalog_output_format output_format_properties; ++#ifdef __cplusplus ++}; ++#endif + + #endif /* _WRITE_PROPERTIES_H */ +diff -ur gettext-0.17/gettext-tools/src/write-stringtable.h gettext-0.17-new/gettext-tools/src/write-stringtable.h +--- gettext-0.17/gettext-tools/src/write-stringtable.h Sun Oct 7 21:37:39 2007 ++++ gettext-0.17-new/gettext-tools/src/write-stringtable.h Thu Nov 29 15:45:29 2007 +@@ -21,6 +21,12 @@ + #include "write-catalog.h" + + /* Describes a PO file in .strings syntax. */ ++#ifdef __cplusplus ++extern "C" { ++#endif + extern DLL_VARIABLE const struct catalog_output_format output_format_stringtable; ++#ifdef __cplusplus ++}; ++#endif + + #endif /* _WRITE_STRINGTABLE_H */ +diff -ur gettext-0.17/gettext-tools/tests/setlocale.c gettext-0.17-new/gettext-tools/tests/setlocale.c +--- gettext-0.17/gettext-tools/tests/setlocale.c Sun Oct 7 21:37:40 2007 ++++ gettext-0.17-new/gettext-tools/tests/setlocale.c Thu Nov 29 15:45:24 2007 +@@ -1,3 +1,4 @@ ++#ifndef _MSC_VER + /* Fake setlocale - platform independent, for testing purposes. + Copyright (C) 2001-2002 Free Software Foundation, Inc. + +@@ -161,3 +162,4 @@ + } + return retval; + } ++#endif Property changes on: trunk/octave-forge/admin/Windows/msvc/libs/gettext-0.17.diff ___________________________________________________________________ Name: svn:executable + * Added: trunk/octave-forge/admin/Windows/msvc/process_gettext.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/process_gettext.sh (rev 0) +++ trunk/octave-forge/admin/Windows/msvc/process_gettext.sh 2007-11-29 14:48:58 UTC (rev 4323) @@ -0,0 +1,305 @@ +#!/bin/sh + +output= +input= + +function output_file +{ + echo "`echo \"$1\" | sed -e 's,/,_,g'`" +} + +function check_output_file +{ + of=`output_file "$1"` + if test ! -f "$of"; then + echo "processing $1..." + input="$1" + output="$of" + cp "$input" "$output" + return 0 + else + echo "skipping $1..." + return 1 + fi +} + +function commit_file +{ + mv "$output" "$input" +} + +function process_configure_for_absolute_name +{ + if check_output_file "$1"; then + hnames=`sed -n -e 's/^.*absolute name of <\([^>]*\)>.*$/\1/p' "$input" | sort | uniq` + for h in $hnames; do + h1=`echo $h | sed -e 's/\./\\./'` + sed -e "\\#/$h1# s,/,\[/\\\\\\\\],g" "$output" > ttt && + mv ttt "$output" + done + commit_file + fi +} + +# change gettext-runtime/configure and gettext-tools/configure +# to make it support backslashes when looking for absolute names +# of header files + +process_configure_for_absolute_name gettext-runtime/configure +process_configure_for_absolute_name gettext-tools/configure + +# gettext-runtime/intl/export.h +# add BUILDING_LIBINTL trick to correctly export symbols + +if check_output_file "gettext-runtime/intl/export.h"; then + sed -e '/^#define LIBINTL_DLL_EXPORTED *$/ {c\ +#ifdef BUILDING_LIBINTL\ +#define LIBINTL_DLL_EXPORTED __declspec(dllexport)\ +#else\ +#define LIBINTL_DLL_EXPORTED __declspec(dllimport)\ +#endif +;}' "$output" > ttt && + mv ttt "$output" + commit_file +fi + +# gettext-runtime/intl/Makefile.in, gettext-tools/intl/Makefile.in +# add -Wl,linintl.res to LDFLAGS_yes +# WOE32DLL => yes => no in libgnuintl.h build rule + +if check_output_file "gettext-runtime/intl/Makefile.in"; then + sed -e 's/^LDFLAGS_yes =/LDFLAGS_yes = -Wl,libintl.res/' \ + -e "s/'@WOE32DLL@'/'no'/" \ + "$output" > ttt && + mv ttt "$output" + commit_file +fi + +# gettext-runtime/config.h.in, gettext-runtime/libasprintf/config.h.in +# append #define intmax_t long long + +if check_output_file "gettext-runtime/config.h.in"; then + echo "#define intmax_t long long" >> "$output" + commit_file +fi + +if check_output_file "gettext-runtime/libasprintf/config.h.in"; then + echo "#define intmax_t long long" >> "$output" + commit_file +fi + +# gettext-runtime/libasprintf/Makefile.in +# generate asprintf.def +# add -Wl,-def:asprintf.def to LDFLAGS + +if check_output_file "gettext-runtime/libasprintf/Makefile.in"; then + sed -e 's/^libasprintf_la_LDFLAGS =/libasprintf_la_LDFLAGS = -Wl,-def:asprintf.def/' \ + -e 's/\(^libasprintf\.la:.*$\)/\1 asprintf.def/' \ + "$output" > ttt && + mv ttt "$output" && + (cat >> "$output" <<\EOF +asprintf.def: $(libasprintf_la_OBJECTS) + echo "EXPORTS" > $@ + nm $(addprefix .libs/, $(libasprintf_la_OBJECTS:.lo=.o)) | \ + sed -n -e 's/^.* T _\(.*\)$/\1/p' >> $@ +EOF + commit_file +) +fi + +# gettext-runtime/gnulib-lib/Makefile.in +# AR = ar-msvc => ar + +if check_output_file "gettext-runtime/gnulib-lib/Makefile.in"; then + sed -e 's/^AR =.*$/AR = ar/' "$output" > ttt && + mv ttt "$output" + commit_file +fi + +# gettext-tools/config.h +# comment redefinition of gmtime and localtime + +if check_output_file "gettext-tools/config.h.in"; then + sed -e 's,#undef gmtime,/*#undef gmtime*/,' \ + -e 's,#undef localtime,/*#undef localtime*/,' \ + "$output" > ttt && + mv ttt "$output" + commit_file +fi + +# gettext-tools/gnulib-lib/sys_stat.in.h +# add #include <direct.h> before including io.h + +if check_output_file "gettext-tools/gnulib-lib/sys_stat.in.h"; then + sed -e '/^# *include *<io\.h> *$/ {c\ +#include <direct.h>\ +#include <io.h> +;}' "$output" > ttt && + mv ttt "$output" + commit_file +fi + +# gettext-tools/gnulib-lib/[html-]styled-ostream.h and ostream.h +# fix for use in C++ (add extern "C") + +for f in html-styled-ostream styled-ostream ostream; do + in_file="gettext-tools/gnulib-lib/$f.h" + if check_output_file "$in_file"; then + ti="`echo $f | sed -e 's/-/_/g'`_typeinfo" + sed -e "/\\(^extern .*$ti;$\\)/ {i\\ +#ifdef __cplusplus\\ +extern \"C\" {\\ +#endif +;p;i\\ +#ifdef __cplusplus\\ +};\\ +#endif +;}" "$output" > ttt && + mv ttt "$output" + commit_file + fi +done + +# gettext-tools/gnulib-lib/[un]setenv.c +# define __environ to _environ when _MSC_VER is defined + +for f in setenv unsetenv; do + if check_output_file "gettext-tools/gnulib-lib/$f.c"; then + sed -e 's/^extern char \*\*environ;$/#define __environ _environ/' \ + "$output" > ttt && + mv ttt "$output" + commit_file + fi +done + +# gettext-tools/src/hostname.c +# add guards for inclusion of sys/param.h + +if check_output_file "gettext-tools/src/hostname.c"; then + sed -e '/^# *include <sys\/param\.h>/ {i\ +#ifdef HAVE_SYS_PARAM_H +;p;i\ +#endif +;d;}' "$output" > ttt && + mv ttt "$output" + commit_file +fi + +# gettext-tools/libgrep/Makefile +# AR = ar-msvc => ar + +if check_output_file "gettext-tools/libgrep/Makefile.in"; then + sed -e 's/^AR =.*$/AR = ar/' "$output" > ttt && + mv ttt "$output" + commit_file +fi + +# gettext-tools/src/Makefile +# add -lmsvcprt to msggrep_LDFLAGS +# add gettextsrc.def file generation +# comment gettextsrc-exports.lo object dependency + +if check_output_file "gettext-tools/src/Makefile.in"; then + sed -e 's/^libgettextsrc\.la:.*$/& gettextsrc.def/' \ + -e 's/^libgettextsrc_la_LDFLAGS =/& -Wl,-def:gettextsrc.def -Wl,gettext.res/' \ + -e 's/^.* = .*exports\.lo//' \ + -e 's/^@.*@msggrep_LDFLAGS =/& -lmsvcprt/' \ + "$output" > ttt && + mv ttt "$output" && + (cat >> "$output" <<\EOF +gettextsrc.def: $(libgettextsrc_la_OBJECTS) + echo "EXPORTS" > $@ + nm $(addprefix .libs/, $(libgettextsrc_la_OBJECTS:.lo=.o)) | \ + sed -n -e 's/^.* T _\(.*\)$$/\1/p' | sort | uniq >> $@ + sed -n -e 's/^VARIABLE(\(.*\))/\1 DATA/p' ../woe32dll/gettextsrc-exports.c >> $@ +EOF +) + commit_file +fi + +# gettext-tools/gnulib-lib/Makefile +# add gettextlib.def file generation +# comment gettextlib-exports.lo object dependency + +if check_output_file "gettext-tools/gnulib-lib/Makefile.in"; then + sed -e 's/^libgettextlib\.la:.*$/& gettextlib.def/' \ + -e 's/^libgettextlib_la_LDFLAGS =/& -Wl,-def:gettextlib.def -Wl,gettext.res/' \ + -e 's/^.* = .*exports\.lo//' \ + "$output" > ttt && + mv ttt "$output" && + (cat >> "$output" <<\EOF +allobjects = $(libgettextlib_la_OBJECTS) $(gl_LTLIBOBJS) +gettextlib.def: $(allobjects) + echo "EXPORTS" > $@ + nm $(join $(dir $(allobjects)), $(addprefix .libs/, $(notdir $(allobjects:.lo=.o)))) | \ + sed -n -e 's/^.* T _\(.*\)$$/\1/p' | sort | uniq >> $@ + sed -n -e 's/^VARIABLE(\(.*\))/\1 DATA/p' ../woe32dll/gettextlib-exports.c >> $@ +EOF +) + commit_file +fi + +# gettext-tools/tests/setlocale.c +# disable code when _MSC_VER is defined + +if check_output_file "gettext-tools/tests/setlocale.c"; then + (echo "#ifndef _MSC_VER"; cat "$output"; echo "#endif") > ttt && + mv ttt "$output" + commit_file +fi + +# gettext-tools/src/[read|write]-[properties|stringtable|po].h +# add guards for use in C++ + +for f in read-properties write-properties read-stringtable write-stringtable read-po; do + if check_output_file "gettext-tools/src/$f.h"; then + sed -e '/^extern DLL_VARIABLE .*$/ {i\ +#ifdef __cplusplus\ +extern "C" {\ +#endif +;p;i\ +#ifdef __cplusplus\ +};\ +#endif +;d;}' "$output" > ttt && + mv ttt "$output" + commit_file + fi +done + +# gettext-tools/libgettextpo/Makefile +# add 2>&1 1>/dev/null to $(COMPILE) command of config.h build rule +# comment gettextpo-exports.lo object dependency +# add gettextpo.def generation (based on gettext-po.lo only) +# add -Wl,libgettextpo.res to libgettextpo_la_LDFLAGS + +if check_output_file "gettext-tools/libgettextpo/Makefile.in"; then + sed -e 's/^libgettextpo\.la:.*$/& gettextpo.def/' \ + -e 's/^libgettextpo_la_LDFLAGS =/& -Wl,-def:gettextpo.def -Wl,libgettextpo.res/' \ + -e 's/^.* = .*exports\.lo//' \ + -e 's,\(\$(COMPILE) .*\) ||,\1 2>\&1 1>/dev/null ||,' \ + "$output" > ttt && + mv ttt "$output" && + (cat >> "$output" <<\EOF +gettextpo.def: gettext-po.lo + echo "EXPORTS" > $@ + nm .libs/gettext-po.o | \ + sed -n -e 's/^.* T _\(.*\)$$/\1/p' | sort | uniq >> $@ + sed -n -e 's/^VARIABLE(\(.*\))/\1 DATA/p' ../woe32dll/gettextpo-exports.c >> $@ +EOF +) + commit_file +fi + +# CONFIGURE FLAGS +# CPPFLAGS="`pkg-config --cflags glib-2-.0 libxml-2.0`" +# ac_cv_func_memset=yes +# --disable-nls +# --disable-java +# --disable-native-java +# --enable-relocatable +# --with-included-gettext + +# POST-PROCESSING for libtool usage with MSVC +# warning: CXX config is used for gettext-runtime/libasprintf/libtool +# and gettext-tools/libtool Property changes on: trunk/octave-forge/admin/Windows/msvc/process_gettext.sh ___________________________________________________________________ Name: svn:executable + * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2007-11-29 20:14:31
|
Revision: 4325 http://octave.svn.sourceforge.net/octave/?rev=4325&view=rev Author: goffioul Date: 2007-11-29 12:14:32 -0800 (Thu, 29 Nov 2007) Log Message: ----------- fix gettext and ncurses patch + upgrade gettext to 0.17 Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/libs/gettext-0.17.diff trunk/octave-forge/admin/Windows/msvc/libs/ncurses-5.6.diff trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Modified: trunk/octave-forge/admin/Windows/msvc/libs/gettext-0.17.diff =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/gettext-0.17.diff 2007-11-29 15:37:55 UTC (rev 4324) +++ trunk/octave-forge/admin/Windows/msvc/libs/gettext-0.17.diff 2007-11-29 20:14:32 UTC (rev 4325) @@ -161,7 +161,7 @@ +asprintf.def: $(libasprintf_la_OBJECTS) + echo "EXPORTS" > $@ + nm $(addprefix .libs/, $(libasprintf_la_OBJECTS:.lo=.o)) | \ -+ sed -n -e 's/^.* T _\(.*\)$/\1/p' >> $@ ++ sed -n -e 's/^.* T _\(.*\)$$/\1/p' >> $@ diff -ur gettext-0.17/gettext-runtime/libasprintf/config.h.in gettext-0.17-new/gettext-runtime/libasprintf/config.h.in --- gettext-0.17/gettext-runtime/libasprintf/config.h.in Wed Nov 7 00:35:10 2007 +++ gettext-0.17-new/gettext-runtime/libasprintf/config.h.in Thu Nov 29 15:45:04 2007 Modified: trunk/octave-forge/admin/Windows/msvc/libs/ncurses-5.6.diff =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/ncurses-5.6.diff 2007-11-29 15:37:55 UTC (rev 4324) +++ trunk/octave-forge/admin/Windows/msvc/libs/ncurses-5.6.diff 2007-11-29 20:14:32 UTC (rev 4325) @@ -433,7 +433,7 @@ + int n = 1024, nr; + + if (temp == 0) { -+ HMODULE hmod = GetModuleHandle("ncurses"); ++ HMODULE hmod = GetModuleHandle("libncurses-5"); + do { + if (temp == 0) + temp = typeMalloc(char, n); Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-29 15:37:55 UTC (rev 4324) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-29 20:14:32 UTC (rev 4325) @@ -66,6 +66,7 @@ gdver=2.0.35 hdf5ver=1.6.6 libiconvver=1.12 +gettextver=0.17 ################################################################################### @@ -436,7 +437,7 @@ todo_check "$tbindir/arpack.dll" ARPACK todo_check "$tbindir/jpeg6b.dll" libjpeg todo_check "$tlibdir/iconv.lib" libiconv - todo_check "$tbindir/intl.dll" gettext + todo_check "$tlibdir/intl.lib" gettext todo_check "$tbindir/libcairo-2.dll" cairo todo_check "$tbindir/libglib-2.0-0.dll" glib todo_check "$tbindir/libpango-1.0-0.dll" pango @@ -1237,22 +1238,27 @@ ########### if check_package gettext; then - download_file gettext-0.15.tar.gz ftp://ftp.belnet.be/mirror/ftp.gnu.org/gnu/gettext/gettext-0.15.tar.gz + download_file gettext-$gettextver.tar.gz ftp://ftp.belnet.be/mirror/ftp.gnu.org/gnu/gettext/gettext-$gettextver.tar.gz echo -n "decompressing gettext... " - (cd "$DOWNLOAD_DIR" && tar xfz gettext-0.15.tar.gz) - cp libs/gettext-0.15.diff "$DOWNLOAD_DIR/gettext-0.15" + unpack_file gettext-$gettextver.tar.gz + cp libs/gettext-$gettextver.diff "$DOWNLOAD_DIR/gettext-$gettextver" echo "done" echo -n "compiling gettext... " - (cd "$DOWNLOAD_DIR/gettext-0.15" && - patch -p1 < gettext-0.15.diff && - nmake -f Makefile.msvc DLL=1 MFLAGS=-MD PREFIX=$tdir_w32 IIPREFIX=$tdir_w32_1 && - cp gettext-tools/lib/gettextlib.dll gettext-tools/src/gettextsrc.dll "$tbindir" && - cp gettext-tools/src/msgfmt.exe gettext-tools/src/xgettext.exe gettext-tools/src/msgmerge.exe "$tbindir" && - cp gettext-runtime/intl/intl.dll "$tbindir" && - cp gettext-runtime/intl/intl.lib "$tlibdir" && - cp gettext-runtime/intl/libintl.h "$tincludedir") >&5 2>&1 - rm -rf "$DOWNLOAD_DIR/gettext-0.15" - if test ! -f "$tbindir/intl.dll"; then + (cd "$DOWNLOAD_DIR/gettext-$gettextver" && + patch -p1 < gettext-$gettextver.diff && + CC=cc-msvc CFLAGS="-O2 -MD" CXX=cc-msvc CXXFLAGS="-O2 -MD -EHs" FC=fc-msvc FCFLAGS="-O2 -MD" \ + F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32 `pkg-config --cflags glib-2.0 libxml-2.0`" \ + AR=ar-msvc RANLIB=ranlib-msvc ac_cv_func_memset=yes \ + ./configure --prefix="$tdir_w32_forward" --enable-shared --disable-static --disable-nls \ + --disable-java --disable-native-java --enable-relocatable --with-included-gettext && + for lt in `find . -name libtool`; do + post_process_libtool $lt + done && + make && + make install && + rm $tlibdir_quoted/lib*.la) >&5 2>&1 + rm -rf "$DOWNLOAD_DIR/gettext-$gettextver" + if test ! -f "$tlibdir/intl.lib"; then echo "failed" exit -1 else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2007-11-30 10:54:05
|
Revision: 4329 http://octave.svn.sourceforge.net/octave/?rev=4329&view=rev Author: goffioul Date: 2007-11-30 02:54:07 -0800 (Fri, 30 Nov 2007) Log Message: ----------- normalize library names of BLAS, ARPACK and libjpeg Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/libs/arpack.makefile trunk/octave-forge/admin/Windows/msvc/libs/blas.makefile trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Modified: trunk/octave-forge/admin/Windows/msvc/libs/arpack.makefile =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/arpack.makefile 2007-11-30 09:54:00 UTC (rev 4328) +++ trunk/octave-forge/admin/Windows/msvc/libs/arpack.makefile 2007-11-30 10:54:07 UTC (rev 4329) @@ -1,5 +1,8 @@ -LIBTARGET = arpack.dll +NAME = arpack +LIBTARGET = lib$(NAME).dll +LIBIMPLIB = $(NAME).lib + CC = cc-msvc CFLAGS = -MD -O2 @@ -35,7 +38,7 @@ cat $(DEF_FILES) >> $@ $(LIBTARGET): $(OBJECTS) $(LIB_DEFFILE) - $(CC) -shared -o $@ $(OBJECTS) -lf2c -lblas -llapack -Wl,-def:$(LIB_DEFFILE) + $(CC) -shared -o $@ $(OBJECTS) -lf2c -lblas -llapack -Wl,-def:$(LIB_DEFFILE) -Wl,-implib:$(LIBIMPLIB) OTHER_CLEANFILES = $(patsubst %.dll, %.exp, $(LIBTARGET)) \ $(patsubst %.dll, %.ilk, $(LIBTARGET)) \ Modified: trunk/octave-forge/admin/Windows/msvc/libs/blas.makefile =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/blas.makefile 2007-11-30 09:54:00 UTC (rev 4328) +++ trunk/octave-forge/admin/Windows/msvc/libs/blas.makefile 2007-11-30 10:54:07 UTC (rev 4329) @@ -1,5 +1,8 @@ -LIBTARGET = blas.dll +NAME = blas +LIBTARGET = lib$(NAME).dll +LIBIMPLIB = $(NAME).lib + CC = cc-msvc CFLAGS = -MD -O2 @@ -35,7 +38,7 @@ cat $(DEF_FILES) >> $@ $(LIBTARGET): $(OBJECTS) $(LIB_DEFFILE) - $(CC) -shared -o $@ $(OBJECTS) -lf2c -Wl,-def:$(LIB_DEFFILE) + $(CC) -shared -o $@ $(OBJECTS) -lf2c -Wl,-def:$(LIB_DEFFILE) -Wl,-implib:$(LIBIMPLIB) OTHER_CLEANFILES = $(patsubst %.dll, %.exp, $(LIBTARGET)) \ $(patsubst %.dll, %.ilk, $(LIBTARGET)) \ Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-30 09:54:00 UTC (rev 4328) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-30 10:54:07 UTC (rev 4329) @@ -359,8 +359,11 @@ echo -n "checking for unistd.h... " if test ! -f "$tincludedir/unistd.h"; then echo "creating" - echo "#include <process.h>" > "$tincludedir/unistd.h" - echo "#include <io.h>" >> "$tincludedir/unistd.h" + cat >> "$tincludedir/unistd.h" <<\EOF +#include <direct.h> +#include <process.h> +#include <io.h> +EOF else echo "installed" fi @@ -412,7 +415,7 @@ todo_check "$tbindir/f2c.exe" f2c todo_check "$tlibdir/f2c.lib" libf2c todo_check "$tbindir/fort77" fort77 - todo_check "$tbindir/blas.dll" BLAS + todo_check "$tlibdir/blas.lib" BLAS todo_check "$tbindir/lapack.dll" LAPACK if $DOATLAS; then echo -n "checking for ATLAS... " @@ -434,8 +437,8 @@ todo_check "$tlibdir/hdf5.lib" HDF5 todo_check "$tlibdir/glob.lib" glob todo_check "$tlibdir/png.lib" libpng - todo_check "$tbindir/arpack.dll" ARPACK - todo_check "$tbindir/jpeg6b.dll" libjpeg + todo_check "$tlibdir/arpack.lib" ARPACK + todo_check "$tlibdir/jpeg.lib" libjpeg todo_check "$tlibdir/iconv.lib" libiconv todo_check "$tlibdir/intl.lib" gettext todo_check "$tbindir/libcairo-2.dll" cairo @@ -622,10 +625,10 @@ create_module_rc BLAS 1.0 blas.dll "Netlib (http://www.netlib.org)" \ "BLAS F77 Reference Implementation" "Public Domain" > blas.rc && make -f blas.makefile && - cp blas.dll "$tbindir" && + cp libblas.dll "$tbindir" && cp blas.lib "$tlibdir") >&5 2>&1 rm -rf "$DOWNLOAD_DIR/BLAS" - if ! test -f "$tbindir/blas.dll"; then + if ! test -f "$tlibdir/blas.lib"; then echo "failed" exit -1 else @@ -741,7 +744,7 @@ make install && rm -f $tlibdir_quoted/libfftw3.la && true) >&5 2>&1 - #rm -rf "$DOWNLOAD_DIR/fftw-3.1.2" + rm -rf "$DOWNLOAD_DIR/fftw-3.1.2" if ! test -f "$tbindir/libfftw3-3.dll"; then echo "failed" exit -1 @@ -1020,7 +1023,7 @@ "NCSA Hierarchical Data Format (HDF) Library" \ "Copyright by the Board of Trustees of the University of Illinois." > src/hdf5.rc && CC=cc-msvc CFLAGS="-O2 -MD" CXX=cc-msvc CXXFLAGS="-O2 -MD" FC=fc-msvc FCFLAGS="-O2 -MD" \ - F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32 -D_HDF5DLL_" AR=ar-msvc RANLIB=ranlib-msvc \ + F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32 -D_HDF5DLL_ -Dssize_t=long" AR=ar-msvc RANLIB=ranlib-msvc \ ./configure --prefix="$tdir_w32_forward" --enable-shared --disable-static && post_process_libtool && sed -e '/^postinstall_cmds=/ {s/\$name/\\$name/; s/\$implibname/\\$implibname/;}' libtool > ttt @@ -1039,7 +1042,7 @@ make install && rm -f $tlibdir_quoted/libhdf5.la fi) >&5 2>&1 - rm -rf "$DOWNLOAD_DIR/hdf5-$hdf5ver" + #rm -rf "$DOWNLOAD_DIR/hdf5-$hdf5ver" if test ! -f "$tlibdir/hdf5.lib"; then echo "failed" exit -1 @@ -1138,11 +1141,11 @@ create_module_rc ARPACK 96.0 arpack.dll "Rice University (http://www.caam.rice.edu)" \ "ARPACK Library for Large-Scale Eigenvalues Problems" "Copyright (\xA9) 2001, Rice University" > arpack.rc && make -f arpack.makefile && - cp arpack.dll "$tbindir" && + cp libarpack.dll "$tbindir" && cp arpack.lib "$tlibdir") >&5 2>&1 rm -rf "$DOWNLOAD_DIR/ARPACK" wget $WGET_FLAGS -O "$tlicdir/COPYING.ARPACK.doc" http://www.caam.rice.edu/software/ARPACK/RiceBSD.doc - if ! test -f "$tbindir/arpack.dll"; then + if ! test -f "$tlibdir/arpack.lib"; then echo "failed" exit -1 else @@ -1154,21 +1157,70 @@ # libjpeg # ########### +#if check_package libjpeg; then +# download_file jpeg-6b-4-src.zip 'http://downloads.sourceforge.net/gnuwin32/jpeg-6b-4-src.zip?modtime=1116176612&big_mirror=0' +# echo -n "decompressing libjpeg... " +# (cd "$DOWNLOAD_DIR" && mkdir jpeg && cd jpeg && unzip -q ../jpeg-6b-4-src.zip) +# cp libs/libjpeg-6b.diff "$DOWNLOAD_DIR/jpeg" +# echo "done" +# (cd "$DOWNLOAD_DIR/jpeg" && +# patch -p1 < libjpeg-6b.diff && +# cd src/jpeg/6b/jpeg-6b-src && +# nmake -f makefile.vc nodebug=1 && +# cp jpeg6b.dll "$tbindir" && +# cp jpeg.lib "$tlibdir" && +# cp jconfig.h jerror.h jmorecfg.h jpeglib.h "$tincludedir") >&5 2>&1 +# rm -rf "$DOWNLOAD_DIR/jpeg" +# if test ! -f "$tbindir/jpeg6b.dll"; then +# echo "failed" +# exit -1 +# else +# echo "done" +# fi +#fi + if check_package libjpeg; then - download_file jpeg-6b-4-src.zip 'http://downloads.sourceforge.net/gnuwin32/jpeg-6b-4-src.zip?modtime=1116176612&big_mirror=0' + download_file jpegsrc.v6b.tar.gz ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz echo -n "decompressing libjpeg... " - (cd "$DOWNLOAD_DIR" && mkdir jpeg && cd jpeg && unzip -q ../jpeg-6b-4-src.zip) - cp libs/libjpeg-6b.diff "$DOWNLOAD_DIR/jpeg" + unpack_file jpegsrc.v6b.tar.gz echo "done" - (cd "$DOWNLOAD_DIR/jpeg" && - patch -p1 < libjpeg-6b.diff && - cd src/jpeg/6b/jpeg-6b-src && - nmake -f makefile.vc nodebug=1 && - cp jpeg6b.dll "$tbindir" && - cp jpeg.lib "$tlibdir" && - cp jconfig.h jerror.h jmorecfg.h jpeglib.h "$tincludedir") >&5 2>&1 - rm -rf "$DOWNLOAD_DIR/jpeg" - if test ! -f "$tbindir/jpeg6b.dll"; then + (cd "$DOWNLOAD_DIR/jpeg-6b" && + create_module_rc Libjpeg 6.2 libjpeg-62.dll "Independent JPEG Group <www.ijg.org>" \ + "Libjpeg - Library and Tools for JPEG Images" "\xA9 `date +%Y` Independent JPEG Group <www.ijg.org>" > jpeg.rc && + CC=cc-msvc CFLAGS="-O2 -MD" CXX=cc-msvc CXXFLAGS="-O2 -MD" FC=fc-msvc FCFLAGS="-O2 -MD" \ + F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32" AR=ar-msvc RANLIB=ranlib-msvc \ + CPP="/mingw/bin/cpp" \ + ./configure --prefix="$tdir_w32_forward" --enable-shared --disable-static && + sed -e 's/libjpeg\.la:.*$/& jpeg.def jpeg.res/' Makefile > ttt && + mv ttt Makefile && + (cat >> Makefile <<\EOF +jpeg.res: jpeg.rc + rc -fo $@ $< +jpeg.def: $(LIBOBJECTS) + echo "EXPORTS" > $@ + nm $(LIBOBJECTS) | sed -n -e 's/^.* T _\(.*\)$$/\1/p' >> $@ +EOF +) && + sed -e 's/^build_libtool_libs=.*$/build_libtool_libs=yes/' \ + -e 's/^build_old_libs=.*$/build_old_libs=no/' \ + -e 's/^version_type=.*$/version_type=windows/' \ + -e 's/^library_names_spec=.*$/library_names_spec="lib\\$name-\\$versuffix.dll"/' \ + -e '/^[ ]*case "\$version_type" in.*$/ {p;i\ +windows)\ + major=`expr $current - $age`\ + versuffix="$major"\ + ;; +;d;}' \ + -e 's/^hardcode_libdir_flag_spec=.*$/hardcode_libdir_flag_spec=""/' \ + -e 's/^archive_cmds=.*$/archive_cmds="\\$CC -shared -o \\$lib\\$libobjs -Wl,-def:jpeg.def -Wl,jpeg.res"/' \ + libtool > ttt && + mv ttt libtool && + make libjpeg.la && + cp jconfig.h jpeglib.h jmorecfg.h jerror.h "$tincludedir" && + cp .libs/libjpeg*.dll "$tbindir" && + cp .libs/libjpeg*.lib "$tlibdir/jpeg.lib") >&5 2>&1 + rm -rf "$DOWNLOAD_DIR/jpeg-6b" + if test ! -f "$tlibdir/jpeg.lib"; then echo "failed" exit -1 else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2007-11-30 15:02:24
|
Revision: 4331 http://octave.svn.sourceforge.net/octave/?rev=4331&view=rev Author: goffioul Date: 2007-11-30 07:02:25 -0800 (Fri, 30 Nov 2007) Log Message: ----------- prefix LAPACK dll with "lib" Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/libs/lapack.makefile trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Modified: trunk/octave-forge/admin/Windows/msvc/libs/lapack.makefile =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/lapack.makefile 2007-11-30 14:12:29 UTC (rev 4330) +++ trunk/octave-forge/admin/Windows/msvc/libs/lapack.makefile 2007-11-30 15:02:25 UTC (rev 4331) @@ -1,4 +1,7 @@ -LIBTARGET = lapack.dll +NAME = lapack + +LIBTARGET = lib$(NAME).dll +LIBIMPLIB = $(NAME).lib LIBSTATIC = liblapack_f77.lib CC = cc-msvc @@ -41,7 +44,7 @@ @if test -f lapack.res; then \ echo lapack.res >> link.tmp ; \ fi - $(CC) -shared -o $@ @link.tmp -lf2c -lblas -Wl,-def:$(LIB_DEFFILE) + $(CC) -shared -o $@ @link.tmp -lf2c -lblas -Wl,-def:$(LIB_DEFFILE) -Wl,-implib:$(LIBIMPLIB) @rm -f link.tmp $(LIBSTATIC): $(OBJECTS) $(LIB_DEFFILE) Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-30 14:12:29 UTC (rev 4330) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-30 15:02:25 UTC (rev 4331) @@ -417,7 +417,7 @@ todo_check "$tlibdir/f2c.lib" libf2c todo_check "$tbindir/fort77" fort77 todo_check "$tlibdir/blas.lib" BLAS - todo_check "$tbindir/lapack.dll" LAPACK + todo_check "$tlibdir/lapack.lib" LAPACK if $DOATLAS; then echo -n "checking for ATLAS... " atl_dlls=`find "$tbindir" -name "blas_atl_*.dll"` @@ -654,11 +654,11 @@ "Lapack F77 Reference Implementation" "$lapack_copyright" > lapack.rc && rc -fo lapack.res lapack.rc && make -f lapack.makefile && - cp lapack.dll "$tbindir" && + cp liblapack.dll "$tbindir" && cp lapack.lib liblapack_f77.lib "$tlibdir" && cp ../COPYING "$tlicdir/COPYING.LAPACK") >&5 2>&1 rm -rf "$DOWNLOAD_DIR/lapack-lite-$lapackver" - if ! test -f "$tbindir/lapack.dll"; then + if ! test -f "$tlibdir/lapack.lib"; then echo "failed" exit -1 else This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2007-11-30 15:52:52
|
Revision: 4333 http://octave.svn.sourceforge.net/octave/?rev=4333&view=rev Author: goffioul Date: 2007-11-30 07:52:57 -0800 (Fri, 30 Nov 2007) Log Message: ----------- use new name scheme for libraries Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/octave.nsi.in trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Modified: trunk/octave-forge/admin/Windows/msvc/octave.nsi.in =================================================================== --- trunk/octave-forge/admin/Windows/msvc/octave.nsi.in 2007-11-30 15:44:13 UTC (rev 4332) +++ trunk/octave-forge/admin/Windows/msvc/octave.nsi.in 2007-11-30 15:52:57 UTC (rev 4333) @@ -126,12 +126,12 @@ File /r /x "packages" /x "octave_packages" "${OCTAVE_ROOT}\share\*.*" ; support libraries and executables SetOutPath "$INSTDIR\bin" - File "${VCLIBS_ROOT}\bin\pcre.dll" - File "${VCLIBS_ROOT}\bin\readline.dll" - File "${VCLIBS_ROOT}\bin\ncurses.dll" + File "${VCLIBS_ROOT}\bin\libpcre-0.dll" + File "${VCLIBS_ROOT}\bin\libreadline-5.dll" + File "${VCLIBS_ROOT}\bin\libncurses-5.dll" File "${VCLIBS_ROOT}\bin\libfftw3-3.dll" - File "${VCLIBS_ROOT}\bin\hdf5.dll" - File "${VCLIBS_ROOT}\bin\glpk_4_19.dll" + File "${VCLIBS_ROOT}\bin\libhdf5-0.dll" + File "${VCLIBS_ROOT}\bin\libglpk-0.dll" File "${VCLIBS_ROOT}\bin\fftw-wisdom.exe" File "${VCLIBS_ROOT}\bin\zlib1.dll" File "${VCLIBS_ROOT}\bin\libcurl.dll" @@ -233,8 +233,8 @@ Section "Generic" SEC_LA_GEN SetOutPath "$INSTDIR\bin" SetOverwrite try - File /oname=blas.dll "${VCLIBS_ROOT}\bin\blas.dll" - File /oname=lapack.dll "${VCLIBS_ROOT}\bin\lapack.dll" + File /oname=libblas.dll "${VCLIBS_ROOT}\bin\libblas_f77.dll" + File /oname=liblapack.dll "${VCLIBS_ROOT}\bin\liblapack_f77.dll" SetOutPath "$INSTDIR\license" File "${VCLIBS_ROOT}\license\COPYING.LAPACK" SectionEnd @@ -242,16 +242,16 @@ Section /o "P4/SSE2" SEC_LA_P4SSE2 SetOutPath "$INSTDIR\bin" SetOverwrite try - File /oname=blas.dll "${VCLIBS_ROOT}\bin\blas_atl_WinNT_P4SSE2.dll" - File /oname=lapack.dll "${VCLIBS_ROOT}\bin\lapack_atl_WinNT_P4SSE2.dll" + File /oname=libblas.dll "${VCLIBS_ROOT}\bin\libblas_atl_WinNT_P4SSE2.dll" + File /oname=liblapack.dll "${VCLIBS_ROOT}\bin\liblapack_atl_WinNT_P4SSE2.dll" SectionEnd !ifdef ATLAS_PM Section /o "PM/SSE2" SEC_LA_PMSSE2 SetOutPath "$INSTDIR\bin" SetOverwrite try - File /oname=blas.dll "${VCLIBS_ROOT}\bin\blas_atl_PMSSE2.dll" - File /oname=lapack.dll "${VCLIBS_ROOT}\bin\lapack_atl_PMSSE2.dll" + File /oname=libblas.dll "${VCLIBS_ROOT}\bin\libblas_atl_PMSSE2.dll" + File /oname=liblapack.dll "${VCLIBS_ROOT}\bin\liblapack_atl_PMSSE2.dll" SectionEnd !endif @@ -309,11 +309,11 @@ File "${VCLIBS_ROOT}\bin\wgnuplot.exe" File "${VCLIBS_ROOT}\bin\wgnuplot.hlp" File "${VCLIBS_ROOT}\bin\wgnuplot.mnu" - File "${VCLIBS_ROOT}\bin\bgd.dll" - File "${VCLIBS_ROOT}\bin\freetype6.dll" - File "${VCLIBS_ROOT}\bin\iconv.dll" - File "${VCLIBS_ROOT}\bin\intl.dll" - File "${VCLIBS_ROOT}\bin\jpeg6b.dll" + File "${VCLIBS_ROOT}\bin\libgd-2.dll" + File "${VCLIBS_ROOT}\bin\libfreetype-6.dll" + File "${VCLIBS_ROOT}\bin\libiconv-2.dll" + File "${VCLIBS_ROOT}\bin\libintl-8.dll" + File "${VCLIBS_ROOT}\bin\libjpeg-62.dll" File "${VCLIBS_ROOT}\bin\libcairo-2.dll" File "${VCLIBS_ROOT}\bin\libglib-2.0-0.dll" File "${VCLIBS_ROOT}\bin\libgmodule-2.0-0.dll" @@ -345,9 +345,9 @@ SetOverwrite try SetOutPath "$INSTDIR\bin" File "${VCLIBS_ROOT}\bin\fltkdll.dll" - File "${VCLIBS_ROOT}\bin\jpeg6b.dll" + File "${VCLIBS_ROOT}\bin\libjpeg-62.dll" File "${VCLIBS_ROOT}\bin\libpng13.dll" - File "${VCLIBS_ROOT}\bin\freetype6.dll" + File "${VCLIBS_ROOT}\bin\libfreetype-6.dll" SetOutPath "$INSTDIR\share\octplot" File /r "${OCTAVE_ROOT}\share\octplot\*.*" SetOutPath "$INSTDIR\license" @@ -403,8 +403,8 @@ SetOverwrite try File "${VCLIBS_ROOT}\bin\less.exe" File "${VCLIBS_ROOT}\bin\sed.exe" - File "${VCLIBS_ROOT}\bin\iconv.dll" - File "${VCLIBS_ROOT}\bin\intl.dll" + File "${VCLIBS_ROOT}\bin\libiconv-2.dll" + File "${VCLIBS_ROOT}\bin\libintl-8.dll" File "${VCLIBS_ROOT}\bin\makeinfo.exe" ; Shortcuts Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-30 15:44:13 UTC (rev 4332) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-30 15:52:57 UTC (rev 4333) @@ -2306,23 +2306,23 @@ case "$packname" in image) echo " SetOutPath \"\$INSTDIR\\bin\"" - echo " File \"\${VCLIBS_ROOT}\\bin\\jpeg6b.dll\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libjpeg-62.dll\"" echo " File \"\${VCLIBS_ROOT}\\bin\\libpng13.dll\"" ;; octcdf) echo " SetOutPath \"\$INSTDIR\\bin\"" - echo " File \"\${VCLIBS_ROOT}\\bin\\netcdf.dll\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libnetcdf-4.dll\"" echo " SetOutPath \"\$INSTDIR\\license\"" echo " File \"\${VCLIBS_ROOT}\\license\\COPYING.NETCDF\"" ;; gsl) echo " SetOutPath \"\$INSTDIR\\bin\"" - echo " File \"\${VCLIBS_ROOT}\\bin\\libgsl.dll\"" - echo " File \"\${VCLIBS_ROOT}\\bin\\libgslcblas.dll\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libgsl-0.dll\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libgslcblas-0.dll\"" ;; arpack) echo " SetOutPath \"\$INSTDIR\\bin\"" - echo " File \"\${VCLIBS_ROOT}\\bin\\arpack.dll\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libarpack.dll\"" echo " SetOutPath \"\$INSTDIR\\license\"" echo " File \"\${VCLIBS_ROOT}\\license\\COPYING.ARPACK.doc\"" ;; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2007-12-01 13:41:30
|
Revision: 4337 http://octave.svn.sourceforge.net/octave/?rev=4337&view=rev Author: goffioul Date: 2007-12-01 05:41:35 -0800 (Sat, 01 Dec 2007) Log Message: ----------- normalize lib name for ATLAS + fix compilation of glib and HDF5 Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/build_atlas_dll trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Modified: trunk/octave-forge/admin/Windows/msvc/build_atlas_dll =================================================================== --- trunk/octave-forge/admin/Windows/msvc/build_atlas_dll 2007-11-30 19:11:38 UTC (rev 4336) +++ trunk/octave-forge/admin/Windows/msvc/build_atlas_dll 2007-12-01 13:41:35 UTC (rev 4337) @@ -39,7 +39,7 @@ esac echo "Generating BLAS DLL..." -cc-msvc -shared -o blas.dll -Wl,-def:$topdir/lib/atl_blas.def libatlas.lib libf77blas.lib libcblas.lib -lf2c +cc-msvc -shared -o libblas.dll -Wl,-def:$topdir/lib/atl_blas.def libatlas.lib libf77blas.lib libcblas.lib -lf2c if test -f "blas.exp"; then rm -f blas.exp fi @@ -57,7 +57,7 @@ lib -nologo liblapack_f77.lib *.o echo "Generating LAPACK DLL..." -cc-msvc -shared -o lapack.dll -Wl,-def:$topdir/lib/lapack.def liblapack_f77.lib blas.lib -lf2c +cc-msvc -shared -o liblapack.dll -Wl,-def:$topdir/lib/lapack.def liblapack_f77.lib libblas.lib -lf2c if test -f "lapack.exp"; then rm -f lapack.exp fi Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-11-30 19:11:38 UTC (rev 4336) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2007-12-01 13:41:35 UTC (rev 4337) @@ -679,15 +679,15 @@ echo -n "compiling ATLAS... " (cd "$DOWNLOAD_DIR/ATLAS" && patch -p1 < atlas-3.6.0.diff && - start "//wait" "$CYGWIN_DIR/bin/bash.exe" --login -i && - exit -1 && +# start "//wait" "$CYGWIN_DIR/bin/bash.exe" --login -i && +# exit -1 && start "//wait" "$CYGWIN_DIR/bin/bash.exe" --login -c "cd `pwd -W | sed -e 's,/,\\\\\\\\\\\\\\\\,g'` && make xconfig && echo -n '' | ./xconfig -c mvc" && arch=`ls Make.*_* | sed -e 's/Make\.//'` && start "//wait" "$CYGWIN_DIR/bin/bash.exe" --login -c "cd `pwd -W | sed -e 's,/,\\\\\\\\\\\\\\\\,g'` && make install arch=$arch" && start "//wait" "$CYGWIN_DIR/bin/bash.exe" --login -c "cd `pwd -W | sed -e 's,/,\\\\\\\\\\\\\\\\,g'` && cd lib/$arch && build_atlas_dll" && - cp lib/$arch/blas.dll "$tbindir/blas_atl_$arch.dll" && - cp lib/$arch/lapack.dll "$tbindir/lapack_atl_$arch.dll") >&5 2>&1 - rm -rf "$DOWNLOAD_DIR/ATLAS" + cp lib/$arch/libblas.dll "$tbindir/libblas_atl_$arch.dll" && + cp lib/$arch/liblapack.dll "$tbindir/liblapack_atl_$arch.dll") >&5 2>&1 + #rm -rf "$DOWNLOAD_DIR/ATLAS" atl_dlls=`find "$tbindir" -name "blas_atl_*.dll"` if test -z "$atl_dlls"; then echo "failed" @@ -1024,7 +1024,7 @@ "NCSA Hierarchical Data Format (HDF) Library" \ "Copyright by the Board of Trustees of the University of Illinois." > src/hdf5.rc && CC=cc-msvc CFLAGS="-O2 -MD" CXX=cc-msvc CXXFLAGS="-O2 -MD" FC=fc-msvc FCFLAGS="-O2 -MD" \ - F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32 -D_HDF5DLL_ -Dssize_t=long" AR=ar-msvc RANLIB=ranlib-msvc \ + F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32 -D_HDF5DLL_" AR=ar-msvc RANLIB=ranlib-msvc \ ./configure --prefix="$tdir_w32_forward" --enable-shared --disable-static && post_process_libtool && sed -e '/^postinstall_cmds=/ {s/\$name/\\$name/; s/\$implibname/\\$implibname/;}' libtool > ttt @@ -1039,6 +1039,7 @@ ;}' src/H5FDstream.c > ttt && mv ttt src/H5FDstream.c && echo "#define HDsetvbuf(A,B,C,D) (((D)>1)?setvbuf(A,B,C,D):setvbuf(A,B,C,2))" >> src/H5pubconf.h && + echo "#define ssize_t long" >> src/H5pubconf.h && cd src rc -fo hdf5.res hdf5.rc && make && @@ -1383,6 +1384,8 @@ echo "done" echo "compiling glib... " (cd "$DOWNLOAD_DIR/glib-$glibver" && + sed -e 's/extern int _nl_msg_cat_cntr/extern __declspec(dllimport) int _nl_msg_cat_cntr/' configure > ttt && + mv ttt configure && CC=cc-msvc CFLAGS="-O2 -MD" CXX=cc-msvc CXXFLAGS="-O2 -MD" FC=fc-msvc FCFLAGS="-O2 -MD" \ F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32" AR=ar-msvc RANLIB=ranlib-msvc \ ./configure --prefix="$tdir_w32_forward" --enable-shared --disable-static \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2008-03-26 21:24:19
|
Revision: 4810 http://octave.svn.sourceforge.net/octave/?rev=4810&view=rev Author: goffioul Date: 2008-03-26 14:24:06 -0700 (Wed, 26 Mar 2008) Log Message: ----------- Enable compilation of fontconfig Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Added Paths: ----------- trunk/octave-forge/admin/Windows/msvc/libs/fontconfig-2.5.0.diff Added: trunk/octave-forge/admin/Windows/msvc/libs/fontconfig-2.5.0.diff =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/fontconfig-2.5.0.diff (rev 0) +++ trunk/octave-forge/admin/Windows/msvc/libs/fontconfig-2.5.0.diff 2008-03-26 21:24:06 UTC (rev 4810) @@ -0,0 +1,197 @@ +diff -urN fontconfig-2.5.0-orig/fc-cache/Makefile.in fontconfig-2.5.0/fc-cache/Makefile.in +--- fontconfig-2.5.0-orig/fc-cache/Makefile.in Wed Nov 14 02:57:07 2007 ++++ fontconfig-2.5.0/fc-cache/Makefile.in Wed Mar 26 21:08:04 2008 +@@ -73,7 +73,7 @@ + binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) + PROGRAMS = $(bin_PROGRAMS) + fc_cache_SOURCES = fc-cache.c +-fc_cache_OBJECTS = fc-cache.$(OBJEXT) ++fc_cache_OBJECTS = fc-cache.$(OBJEXT) dirent.$(OBJEXT) + am__DEPENDENCIES_1 = + fc_cache_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) ${top_builddir}/src/libfontconfig.la +diff -urN fontconfig-2.5.0-orig/fc-cache/dirent.c fontconfig-2.5.0/fc-cache/dirent.c +--- fontconfig-2.5.0-orig/fc-cache/dirent.c Thu Jan 1 00:00:00 1970 ++++ fontconfig-2.5.0/fc-cache/dirent.c Wed Mar 26 21:13:54 2008 +@@ -0,0 +1,60 @@ ++#include "dirent.h" ++#include <windows.h> ++ ++struct __DIR ++{ ++ HANDLE hnd; ++ WIN32_FIND_DATA fd; ++ int dirty; ++ struct direct d; ++ const char *current; ++}; ++ ++DIR * ++opendir (const char *name) ++{ ++ DIR *d = malloc (sizeof (DIR)); ++ static char buffer[MAX_PATH]; ++ ++ strncpy (buffer, name, MAX_PATH); ++ if (buffer[strnlen(buffer, MAX_PATH)-1] != '\\') ++ strncat (buffer, "\\*", MAX_PATH); ++ else ++ strncat (buffer, "*", MAX_PATH); ++ d->current = buffer; ++ d->hnd = FindFirstFile (buffer, &(d->fd)); ++ if (d->hnd == INVALID_HANDLE_VALUE) ++ return 0; ++ d->dirty = 1; ++ return d; ++} ++ ++void ++rewinddir (DIR *d) ++{ ++ if (d->hnd != INVALID_HANDLE_VALUE) ++ FindClose (d->hnd); ++ d->hnd = FindFirstFile (d->current, &(d->fd)); ++ d->dirty = 1; ++} ++ ++void ++closedir (DIR *d) ++{ ++ if (d->hnd != INVALID_HANDLE_VALUE) ++ FindClose (d->hnd); ++ free (d); ++} ++ ++struct direct * ++readdir (DIR *d) ++{ ++ if (! d->dirty) ++ { ++ if (! FindNextFile(d->hnd, &(d->fd))) ++ return 0; ++ } ++ d->d.d_name = d->fd.cFileName; ++ d->dirty = 0; ++ return &(d->d); ++} +diff -urN fontconfig-2.5.0-orig/src/Makefile.in fontconfig-2.5.0/src/Makefile.in +--- fontconfig-2.5.0-orig/src/Makefile.in Wed Nov 14 02:57:08 2007 ++++ fontconfig-2.5.0/src/Makefile.in Wed Mar 26 21:07:35 2008 +@@ -85,7 +85,7 @@ + fccfg.lo fccharset.lo fcdbg.lo fcdefault.lo fcdir.lo \ + fcfreetype.lo fcfs.lo fcinit.lo fclang.lo fclist.lo fcmatch.lo \ + fcmatrix.lo fcname.lo fcpat.lo fcserialize.lo fcstr.lo \ +- fcxml.lo ftglue.lo ++ fcxml.lo ftglue.lo dirent.lo + libfontconfig_la_OBJECTS = $(am_libfontconfig_la_OBJECTS) + DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) + depcomp = $(SHELL) $(top_srcdir)/depcomp +@@ -636,9 +636,9 @@ + @MS_LIB_AVAILABLE_FALSE@install-ms-import-lib: + @MS_LIB_AVAILABLE_FALSE@uninstall-ms-import-lib: + +-install-data-local: install-ms-import-lib install-libtool-import-lib ++install-data-local: + +-uninstall-local: uninstall-ms-import-lib uninstall-libtool-import-lib ++uninstall-local: + + fcaliastail.h: fcalias.h + +diff -urN fontconfig-2.5.0-orig/src/dirent.c fontconfig-2.5.0/src/dirent.c +--- fontconfig-2.5.0-orig/src/dirent.c Thu Jan 1 00:00:00 1970 ++++ fontconfig-2.5.0/src/dirent.c Wed Mar 26 21:14:02 2008 +@@ -0,0 +1,60 @@ ++#include "dirent.h" ++#include <windows.h> ++ ++struct __DIR ++{ ++ HANDLE hnd; ++ WIN32_FIND_DATA fd; ++ int dirty; ++ struct direct d; ++ const char *current; ++}; ++ ++DIR * ++opendir (const char *name) ++{ ++ DIR *d = malloc (sizeof (DIR)); ++ static char buffer[MAX_PATH]; ++ ++ strncpy (buffer, name, MAX_PATH); ++ if (buffer[strnlen(buffer, MAX_PATH)-1] != '\\') ++ strncat (buffer, "\\*", MAX_PATH); ++ else ++ strncat (buffer, "*", MAX_PATH); ++ d->current = buffer; ++ d->hnd = FindFirstFile (buffer, &(d->fd)); ++ if (d->hnd == INVALID_HANDLE_VALUE) ++ return 0; ++ d->dirty = 1; ++ return d; ++} ++ ++void ++rewinddir (DIR *d) ++{ ++ if (d->hnd != INVALID_HANDLE_VALUE) ++ FindClose (d->hnd); ++ d->hnd = FindFirstFile (d->current, &(d->fd)); ++ d->dirty = 1; ++} ++ ++void ++closedir (DIR *d) ++{ ++ if (d->hnd != INVALID_HANDLE_VALUE) ++ FindClose (d->hnd); ++ free (d); ++} ++ ++struct direct * ++readdir (DIR *d) ++{ ++ if (! d->dirty) ++ { ++ if (! FindNextFile(d->hnd, &(d->fd))) ++ return 0; ++ } ++ d->d.d_name = d->fd.cFileName; ++ d->dirty = 0; ++ return &(d->d); ++} +diff -urN fontconfig-2.5.0-orig/src/dirent.h fontconfig-2.5.0/src/dirent.h +--- fontconfig-2.5.0-orig/src/dirent.h Thu Jan 1 00:00:00 1970 ++++ fontconfig-2.5.0/src/dirent.h Wed Mar 26 21:14:02 2008 +@@ -0,0 +1,16 @@ ++#ifndef DIRENT_H ++#define DIRENT_H ++struct direct ++{ ++ char *d_name; ++}; ++#define dirent direct ++typedef struct __DIR DIR; ++extern DIR* opendir (const char *name); ++extern void rewinddir (DIR *d); ++extern void closedir (DIR *d); ++extern struct direct *readdir (DIR *d); ++#define S_ISDIR(x) (((x)&S_IFDIR)!=0) ++#define F_OK 0 ++#define W_OK 2 ++#endif +diff -urN fontconfig-2.5.0-orig/src/fcint.h fontconfig-2.5.0/src/fcint.h +--- fontconfig-2.5.0-orig/src/fcint.h Tue Nov 13 23:23:39 2007 ++++ fontconfig-2.5.0/src/fcint.h Wed Mar 26 21:01:38 2008 +@@ -35,6 +35,9 @@ + #include <inttypes.h> + #elif defined(HAVE_STDINT_H) + #include <stdint.h> ++#elif defined(_MSC_VER) ++typedef __int32 int32_t; ++typedef __int16 int16_t; + #else + #error missing C99 integer data types + #endif Property changes on: trunk/octave-forge/admin/Windows/msvc/libs/fontconfig-2.5.0.diff ___________________________________________________________________ Name: svn:executable + * Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-03-26 16:50:37 UTC (rev 4809) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-03-26 21:24:06 UTC (rev 4810) @@ -477,7 +477,7 @@ todo_check "$tbindir/libglib-2.0-0.dll" glib todo_check "$tbindir/libpango-1.0-0.dll" pango todo_check "$tlibdir/xml2.lib" libxml2 - #todo_check "$tlibdir/fontconfig.lib" fontconfig + todo_check "$tlibdir/fontconfig.lib" fontconfig todo_check "$tlibdir/freetype.lib" freetype todo_check "$tlibdir/gd.lib" libgd todo_check "$tlibdir/gsl.lib" libgsl @@ -1547,31 +1547,24 @@ # fontconfig # ############## -# TODO -# - src/fcint.h: add #elif defined (_MSC_VER)~typedef __int32 int32_t;~typedef __int16 int16_t; -# - src/fccache.c: fix dirent stuffs -# - src/fccfg.c: comment "#include <dirent.h>" -# - src/fcdir.c: fix dirent + S_ISDIR -# - src/fcxml.c: idem -# - fc-cache/fc-cache.c: idem -# - src/Makefile: install-data-local: => remove dependencies - if check_package fontconfig; then download_file fontconfig-$fontconfigver.tar.gz http://fontconfig.org/release/fontconfig-$fontconfigver.tar.gz echo -n "decompressing fontconfig... " unpack_file fontconfig-$fontconfigver.tar.gz + cp libs/fontconfig-$fontconfigver.diff "$DOWNLOAD_DIR/fontconfig-$fontconfigver" echo "done" echo "compiling fontconfig... " (cd "$DOWNLOAD_DIR/fontconfig-$fontconfigver" && - create_module_rc FontConfig $fontconfigver "libfontconfig-2.dll" "Freedesktop (www.freedesktop.org)" \ - "Font Configuration Library" "`grep -e '^ *Copyright' COPYING | head -n 1 | sed -e 's/^ *//'`" > fontconfig.rc && + patch -p1 < fontconfig-$fontconfigver.diff && + create_module_rc FontConfig $fontconfigver "libfontconfig-1.dll" "Freedesktop (www.freedesktop.org)" \ + "Font Configuration Library" "`grep -e '^ *Copyright' COPYING | head -n 1 | sed -e 's/^ *//'`" > src/fontconfig.rc && CC=cc-msvc CFLAGS="-O2 -MD" CXX=cc-msvc CXXFLAGS="-O2 -EHsc -MD" FC=fc-msvc FCFLAGS="-O2 -MD" \ F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32" AR=ar-msvc RANLIB=ranlib-msvc \ ./configure --prefix="$tdir_w32_forward" --enable-shared --disable-static --disable-docs --enable-xlm2 && post_process_libtool && - sed -e "s/^libfontconfig_la_LDFLAGS =/libfontconfig_la_LDFLAGS = -Wl,fontconfig.res/" Makefile > ttt && - mv ttt Makefile && - rc -fo fontconfig.res fontconfig.rc && + sed -e "s/^libfontconfig_la_LDFLAGS =/libfontconfig_la_LDFLAGS = -Wl,fontconfig.res/" src/Makefile > ttt && + mv ttt src/Makefile && + (cd src && rc -fo fontconfig.res fontconfig.rc) && make && make install && rm -f "$tlibdir/libfontconfig.la" && This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2008-04-16 16:08:30
|
Revision: 4947 http://octave.svn.sourceforge.net/octave/?rev=4947&view=rev Author: goffioul Date: 2008-04-16 09:08:04 -0700 (Wed, 16 Apr 2008) Log Message: ----------- Add compilation of VTE and gtkglarea Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Added Paths: ----------- trunk/octave-forge/admin/Windows/msvc/libs/vte-0.16.13.diff Added: trunk/octave-forge/admin/Windows/msvc/libs/vte-0.16.13.diff =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/vte-0.16.13.diff (rev 0) +++ trunk/octave-forge/admin/Windows/msvc/libs/vte-0.16.13.diff 2008-04-16 16:08:04 UTC (rev 4947) @@ -0,0 +1,1984 @@ +diff -urN vte-0.16.13/config.h.in vte-0.16.13-new/config.h.in +--- vte-0.16.13/config.h.in Mon Mar 10 21:24:02 2008 ++++ vte-0.16.13-new/config.h.in Wed Apr 16 14:43:48 2008 +@@ -282,3 +282,7 @@ + + /* Needed to get declarations for msg_control and msg_controllen on Solaris */ + #undef __EXTENSIONS__ ++ ++typedef int pid_t; ++#define LINE_MAX 8192 ++#define USE_PCRE 1 +diff -urN vte-0.16.13/configure.in vte-0.16.13-new/configure.in +--- vte-0.16.13/configure.in Mon Mar 10 21:22:37 2008 ++++ vte-0.16.13-new/configure.in Wed Mar 26 11:12:00 2008 +@@ -29,7 +29,7 @@ + AM_MAINTAINER_MODE + + AM_PROG_LIBTOOL +-IT_PROG_INTLTOOL([0.35.0]) ++#IT_PROG_INTLTOOL([0.35.0]) + + GETTEXT_PACKAGE=vte + AC_SUBST(GETTEXT_PACKAGE) +diff -urN vte-0.16.13/src/Makefile.in vte-0.16.13-new/src/Makefile.in +--- vte-0.16.13/src/Makefile.in Mon Mar 10 21:23:42 2008 ++++ vte-0.16.13-new/src/Makefile.in Wed Apr 16 14:45:00 2008 +@@ -91,7 +91,7 @@ + @BUILD_XFT_TRUE@am__objects_1 = vtexft.lo + @BUILD_PANGOX_TRUE@am__objects_2 = vtepangox.lo + am_libvte_la_OBJECTS = buffer.lo caps.lo debug.lo iso2022.lo keymap.lo \ +- marshal.lo matcher.lo pty.lo reaper.lo ring.lo table.lo \ ++ marshal.lo matcher.lo pty.lo ptywin.lo reaper.lo ring.lo table.lo \ + trie.lo vte.lo vteaccess.lo vtebg.lo vteconv.lo vtedraw.lo \ + vtefc.lo vteft2.lo vtegl.lo vteglyph.lo vtepango.lo vterdb.lo \ + vteregex.lo vtergb.lo vteseq.lo vteskel.lo vtetc.lo vtetree.lo \ +@@ -334,6 +334,7 @@ + FT2_CFLAGS = @FT2_CFLAGS@ + FT2_CONFIG = @FT2_CONFIG@ + FT2_LIBS = @FT2_LIBS@ ++PCRE_LIBS = -lpcre + GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ + GLIB_CFLAGS = @GLIB_CFLAGS@ + GLIB_LIBS = @GLIB_LIBS@ +@@ -494,7 +495,7 @@ + target_alias = @target_alias@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-pkginclude_HEADERS = pty.h reaper.h vte.h vteaccess.h ++pkginclude_HEADERS = pty.h reaper.h vte.h vteaccess.h ptywin.h + lib_LTLIBRARIES = libvte.la + pkglib_SCRIPTS = decset osc window + EXTRA_DIST = \ +@@ -535,7 +536,7 @@ + EXTRA_libvte_la_SOURCES = keysyms.c + libvte_la_SOURCES = buffer.c buffer.h caps.c caps.h debug.c debug.h \ + iso2022.c iso2022.h keymap.c keymap.h marshal.c marshal.h \ +- matcher.c matcher.h pty.c pty.h reaper.c reaper.h ring.c \ ++ matcher.c matcher.h pty.c pty.h ptywin.c ptywin.h reaper.c reaper.h ring.c \ + ring.h table.c table.h trie.c trie.h vte.c vte.h vte-private.h \ + vteaccess.c vteaccess.h vtebg.c vtebg.h vteconv.c vteconv.h \ + vtedraw.c vtedraw.h vtefc.c vtefc.h vteft2.c vteft2.h vtegl.c \ +@@ -546,7 +547,7 @@ + $(am__append_2) + libvte_la_LDFLAGS = $(LDFLAGS) \ + -version-info $(LIBVTE_LTVERSION) \ +- -export-symbols-regex "^vte_terminal_.*|^_vte_pty_.*|^vte_reaper_.*|_vte_debug_.*" \ ++ -export-symbols-regex "^vte_terminal_.*|^_vte_pty_.*|^_vte_ptywin_.*|^vte_reaper_.*|_vte_debug_.*" \ + @LIBTOOL_EXPORT_OPTIONS@ @LIBTOOL_FLAGS@ + + libvte_la_LIBADD = $(LIBS) $(VTE_LIBS) $(X_LIBS) $(PCRE_LIBS) $(FT2_LIBS) +diff -urN vte-0.16.13/src/keymap.c vte-0.16.13-new/src/keymap.c +--- vte-0.16.13/src/keymap.c Mon Dec 3 19:22:30 2007 ++++ vte-0.16.13-new/src/keymap.c Tue Apr 15 14:59:25 2008 +@@ -199,7 +199,11 @@ + {cursor_all, keypad_all, fkey_all, + VTE_META_MASK, _VTE_CAP_ESC "\n", 2, X_NULL}, + {cursor_all, keypad_all, fkey_all, GDK_CONTROL_MASK, "\n", 1, X_NULL}, ++#ifndef _MSC_VER + {cursor_all, keypad_all, fkey_all, 0, "\r", 1, X_NULL}, ++#else ++ {cursor_all, keypad_all, fkey_all, 0, "\n", 1, X_NULL}, ++#endif + {cursor_all, keypad_all, fkey_all, 0, X_NULL, 0, X_NULL}, + }; + +diff -urN vte-0.16.13/src/pty.c vte-0.16.13-new/src/pty.c +--- vte-0.16.13/src/pty.c Wed Feb 20 19:37:56 2008 ++++ vte-0.16.13-new/src/pty.c Wed Apr 16 15:03:50 2008 +@@ -18,7 +18,9 @@ + + #include "../config.h" + #include <sys/types.h> ++#ifndef _MSC_VER + #include <sys/ioctl.h> ++#endif + #ifdef HAVE_SYS_TERMIOS_H + #include <sys/termios.h> + #endif +@@ -64,29 +66,53 @@ + static GTree *_vte_pty_helper_map = NULL; + #endif + ++#ifndef _MSC_VER + extern char **environ; ++#else ++#include "ptywin.h" ++#endif + + /* Reset the handlers for all known signals to their defaults. The parent + * (or one of the libraries it links to) may have changed one to be ignored. */ + static void + _vte_pty_reset_signal_handlers(void) + { ++#ifdef SIGHUP + signal(SIGHUP, SIG_DFL); ++#endif + signal(SIGINT, SIG_DFL); + signal(SIGILL, SIG_DFL); + signal(SIGABRT, SIG_DFL); + signal(SIGFPE, SIG_DFL); ++#ifdef SIGKILL + signal(SIGKILL, SIG_DFL); ++#endif + signal(SIGSEGV, SIG_DFL); ++#ifdef SIGPIPE + signal(SIGPIPE, SIG_DFL); ++#endif ++#ifdef SIGALRM + signal(SIGALRM, SIG_DFL); ++#endif + signal(SIGTERM, SIG_DFL); ++#ifdef SIGCHLD + signal(SIGCHLD, SIG_DFL); ++#endif ++#ifdef SIGCONT + signal(SIGCONT, SIG_DFL); ++#endif ++#ifdef SIGSTOP + signal(SIGSTOP, SIG_DFL); ++#endif ++#ifdef SIGTSTP + signal(SIGTSTP, SIG_DFL); ++#endif ++#ifdef SIGTTIN + signal(SIGTTIN, SIG_DFL); ++#endif ++#ifdef SIGTTOU + signal(SIGTTOU, SIG_DFL); ++#endif + #ifdef SIGBUS + signal(SIGBUS, SIG_DFL); + #endif +@@ -159,6 +185,7 @@ + static void + vte_pty_child_setup (gpointer arg) + { ++#ifndef _MSC_VER + struct vte_pty_child_setup_data *data = arg; + int fd = -1; + const char *tty = NULL; +@@ -252,6 +279,7 @@ + /* Reset our signals -- our parent may have done any number of + * weird things to them. */ + _vte_pty_reset_signal_handlers(); ++#endif + } + + /* TODO: clean up the spawning +@@ -341,6 +369,7 @@ + directory ? directory : "(none)"); + } + ++#ifndef _MSC_VER + ret = g_spawn_async_with_pipes (directory, + arg2, envp2, + G_SPAWN_CHILD_INHERITS_STDIN | +@@ -351,6 +380,10 @@ + pid, + NULL, NULL, NULL, + &local_error); ++#else ++ ret = _vte_ptywin_spawn(arg2, envp2, directory, ++ (VtePtyWin32*)data->tty.fd, pid); ++#endif + if (ret == FALSE) { + if (g_error_matches (local_error, + G_SPAWN_ERROR, +@@ -464,6 +497,7 @@ + int + _vte_pty_set_size(int master, int columns, int rows) + { ++#ifndef _MSC_VER + struct winsize size; + int ret; + memset(&size, 0, sizeof(size)); +@@ -479,6 +513,14 @@ + master, strerror(errno)); + } + return ret; ++#else ++ char buf[16] = {0}; ++ _snprintf(buf, 15, "%d", rows); ++ g_setenv("LINES", buf, TRUE); ++ _snprintf(buf, 15, "%d", columns); ++ g_setenv("COLUMNS", buf, TRUE); ++ return 0; ++#endif + } + + /** +@@ -494,6 +536,7 @@ + int + _vte_pty_get_size(int master, int *columns, int *rows) + { ++#ifndef _MSC_VER + struct winsize size; + int ret; + memset(&size, 0, sizeof(size)); +@@ -514,6 +557,19 @@ + master); + } + return ret; ++#else ++ const gchar *renv = g_getenv("LINES"); ++ const gchar *cenv = g_getenv("COLUMNS"); ++ ++ if (renv && cenv) ++ { ++ *rows = atoi(renv); ++ *columns = atoi(cenv); ++ return 0; ++ } ++ ++ return -1; ++#endif + } + + static char * +@@ -560,6 +616,7 @@ + static int + _vte_pty_getpt(void) + { ++#ifndef _MSC_VER + int fd, flags; + #ifdef HAVE_GETPT + /* Call the system's function for allocating a pty. */ +@@ -576,6 +633,9 @@ + flags &= ~(O_NONBLOCK); + fcntl(fd, F_SETFL, flags); + return fd; ++#else ++ return -1; ++#endif + } + + static int +@@ -596,11 +656,38 @@ + #elif defined(TIOCSPTLCK) + int zero = 0; + return ioctl(fd, TIOCSPTLCK, &zero); ++#elif defined(_MSC_VER) ++ return (fd != 0 && fd != -1 ? 0 : -1); + #else + return -1; + #endif + } + ++#ifdef _MSC_VER ++static int ++_vte_pty_open_win32(GPid *child, char **env_add, ++ const char *command, char **argv, ++ const char *directory, int columns, int rows) ++{ ++ VtePtyWin32 *ptyw = _vte_ptywin_new(); ++ int fd = (int)ptyw; ++ ++ /* Attempt to open the master. */ ++ _vte_debug_print(VTE_DEBUG_PTY, "Allocated pty on fd %p.\n", ptyw); ++ if (fd != 0) { ++ if (!_vte_pty_fork_on_pty_fd(fd, ++ env_add, command, ++ argv, directory, ++ columns, rows, ++ child)) { ++ g_free(ptyw); ++ fd = -1; ++ } ++ } ++ return fd; ++} ++#endif ++ + static int + _vte_pty_open_unix98(GPid *child, char **env_add, + const char *command, char **argv, +@@ -823,6 +910,7 @@ + static gboolean + _vte_pty_start_helper(void) + { ++#ifndef _MSC_VER + int i, tmp[2], tunnel; + /* Sanity check. */ + if (access(LIBEXECDIR "/gnome-pty-helper", X_OK) != 0) { +@@ -873,6 +961,9 @@ + _vte_pty_helper_map = g_tree_new(_vte_direct_compare); + atexit(_vte_pty_stop_helper); + return TRUE; ++#else ++ return FALSE; ++#endif + } + + static int +@@ -1006,8 +1097,13 @@ + } + #endif + if (ret == -1) { ++#ifndef _MSC_VER + ret = _vte_pty_open_unix98(&child, env_add, command, argv, + directory, columns, rows); ++#else ++ ret = _vte_pty_open_win32(&child, env_add, command, argv, ++ directory, columns, rows); ++#endif + } + if (ret != -1) { + *child_pid = (pid_t) child; +diff -urN vte-0.16.13/src/ptywin.c vte-0.16.13-new/src/ptywin.c +--- vte-0.16.13/src/ptywin.c Thu Jan 1 01:00:00 1970 ++++ vte-0.16.13-new/src/ptywin.c Tue Apr 15 15:19:29 2008 +@@ -0,0 +1,509 @@ ++/* ++ * Copyright (C) 2008 Michael Goffioul. ++ * ++ * This is free software; you can redistribute it and/or modify it under ++ * the terms of the GNU Library General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU Library General Public ++ * License along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#include "../config.h" ++#include "ptywin.h" ++#include <fcntl.h> ++#include <errno.h> ++ ++#undef DATADIR ++#include <windows.h> ++ ++#define LOCK(x) EnterCriticalSection(&(x)) ++#define UNLOCK(x) LeaveCriticalSection(&(x)) ++ ++typedef struct __VtePtyWin32Watch VtePtyWin32Watch; ++typedef struct __VtePtyWin32IOChannel VtePtyWin32IOChannel; ++typedef struct __VtePtyWin32Chunk VtePtyWin32Chunk; ++ ++DWORD WINAPI _vte_ptywin_io_read_thread(LPVOID data); ++ ++struct __VtePtyWin32 { ++ int read_fd; ++ int write_fd; ++}; ++ ++struct __VtePtyWin32Watch { ++ GSource source; ++ GPollFD poll; ++ VtePtyWin32IOChannel *pty; ++}; ++ ++struct __VtePtyWin32Chunk { ++ int len; ++ char *data; ++}; ++ ++struct __VtePtyWin32IOChannel { ++ GIOChannel channel; ++ int fd; ++ HANDLE read_thread; ++ HANDLE data_event; ++ CRITICAL_SECTION mutex; ++ GQueue *data; ++ guint revents; ++}; ++ ++static gboolean ++_vte_ptywin_prepare(GSource *source, gint *timeout) ++{ ++ VtePtyWin32Watch *pty_watch; ++ gboolean result; ++ ++ pty_watch = (VtePtyWin32Watch *)source; ++ *timeout = -1; ++ result = FALSE; ++ ++ LOCK(pty_watch->pty->mutex); ++ if (g_queue_is_empty(pty_watch->pty->data) ++ && !(pty_watch->pty->revents & (G_IO_HUP|G_IO_ERR))) ++ pty_watch->pty->revents = 0; ++ UNLOCK(pty_watch->pty->mutex); ++ ++ return result; ++} ++ ++static gboolean ++_vte_ptywin_check(GSource *source) ++{ ++ VtePtyWin32Watch *pty_watch; ++ gboolean result; ++ ++ pty_watch = (VtePtyWin32Watch *)source; ++ result = FALSE; ++ ++ LOCK(pty_watch->pty->mutex); ++ result = pty_watch->poll.revents = pty_watch->pty->revents; ++ /* ++ if (!g_queue_is_empty(pty_watch->pty->data)) ++ result = TRUE; ++ */ ++ UNLOCK(pty_watch->pty->mutex); ++ ++ return result; ++} ++ ++static gboolean ++_vte_ptywin_dispatch(GSource *source, GSourceFunc callback, gpointer data) ++{ ++ VtePtyWin32Watch *pty_watch; ++ GIOFunc func = (GIOFunc)callback; ++ ++ pty_watch = (VtePtyWin32Watch *)source; ++ ++ return (*func)(&pty_watch->pty->channel, ++ pty_watch->poll.revents, ++ data); ++} ++ ++static void ++_vte_ptywin_finalize(GSource *source) ++{ ++ VtePtyWin32Watch *pty_watch = (VtePtyWin32Watch *)source; ++ g_io_channel_unref(&pty_watch->pty->channel); ++} ++ ++static GSourceFuncs _vte_ptywin_funcs = { ++ _vte_ptywin_prepare, ++ _vte_ptywin_check, ++ _vte_ptywin_dispatch, ++ _vte_ptywin_finalize ++}; ++ ++static GSource* ++_vte_ptywin_io_create_watch(GIOChannel *channel, GIOCondition condition) ++{ ++ VtePtyWin32IOChannel *pty_channel = (VtePtyWin32IOChannel *)channel; ++ GSource *source; ++ VtePtyWin32Watch *pty_watch; ++ ++ source = g_source_new(&_vte_ptywin_funcs, sizeof(VtePtyWin32Watch)); ++ pty_watch = (VtePtyWin32Watch *)source; ++ ++ pty_watch->pty = pty_channel; ++ g_io_channel_ref(channel); ++ ++ pty_watch->poll.fd = (int)pty_channel->data_event; ++ pty_watch->poll.events = condition; ++ ++ LOCK(pty_channel->mutex); ++ ++ if ((condition & G_IO_IN) && (pty_channel->read_thread == NULL)) ++ { ++ pty_channel->read_thread = ++ CreateThread(NULL, 0, _vte_ptywin_io_read_thread, ++ pty_channel, 0, NULL); ++ ++ if (pty_channel->read_thread == NULL) ++ g_warning(G_STRLOC ": Error creating read thread (%x)", ++ GetLastError()); ++ } ++ ++ g_source_add_poll(source, &pty_watch->poll); ++ ++ UNLOCK (pty_channel->mutex); ++ ++ return source; ++} ++ ++static VtePtyWin32Chunk* ++_vte_ptywin_io_chunk_new(char *data, int len) ++{ ++ VtePtyWin32Chunk *chunk = g_new(VtePtyWin32Chunk, 1); ++ chunk->len = len; ++ chunk->data = g_memdup(data, len); ++ return chunk; ++} ++ ++static void ++_vte_ptywin_io_free_queue_elem(gpointer data, gpointer user_data) ++{ ++ VtePtyWin32Chunk *chunk = (VtePtyWin32Chunk *)data; ++ g_free(chunk->data); ++ g_free(data); ++} ++ ++static void ++_vte_ptywin_io_free(GIOChannel *channel) ++{ ++ VtePtyWin32IOChannel *pty_channel = (VtePtyWin32IOChannel *)channel; ++ ++ /* should stop polling */ ++ ++ LOCK(pty_channel->mutex); ++ ++ g_queue_foreach(pty_channel->data, ++ _vte_ptywin_io_free_queue_elem, NULL); ++ g_queue_clear(pty_channel->data); ++ g_queue_free(pty_channel->data); ++ ++ UNLOCK(pty_channel->mutex); ++ ++ DeleteCriticalSection(&pty_channel->mutex); ++ CloseHandle(pty_channel->data_event); ++} ++ ++static GIOFuncs _vte_ptywin_io_funcs = { ++ NULL /* io_read */, ++ NULL /* io_write */, ++ NULL /* io_seek */, ++ NULL /* io_close */, ++ _vte_ptywin_io_create_watch, ++ _vte_ptywin_io_free, ++ NULL /* io_set_flags */, ++ NULL /* io_get_flags */ ++}; ++ ++GIOChannel* ++_vte_ptywin_io_new(int fd) ++{ ++ VtePtyWin32IOChannel *pty_channel = g_new(VtePtyWin32IOChannel, 1); ++ GIOChannel *channel = (GIOChannel *)pty_channel; ++ ++ g_io_channel_init(channel); ++ ++ pty_channel->fd = fd; ++ pty_channel->read_thread = NULL; ++ InitializeCriticalSection(&pty_channel->mutex); ++ pty_channel->data_event = CreateEvent(NULL, TRUE, FALSE, NULL); ++ pty_channel->data = g_queue_new(); ++ ++ channel->funcs = &_vte_ptywin_io_funcs; ++ channel->is_seekable = FALSE; ++ channel->is_readable = TRUE; ++ channel->is_writeable = FALSE; ++ ++ return channel; ++} ++ ++#define IO_BUF_SIZE 8192 ++ ++DWORD WINAPI ++_vte_ptywin_io_read_thread(LPVOID data) ++{ ++ VtePtyWin32IOChannel *pty_channel; ++ char buffer[IO_BUF_SIZE] = {0}; ++ int n; ++ ++ pty_channel = (VtePtyWin32IOChannel *)data; ++ g_io_channel_ref(&pty_channel->channel); ++ ++ LOCK(pty_channel->mutex); ++ ++ while (TRUE) ++ { ++ UNLOCK(pty_channel->mutex); ++ ++#if 1 ++ n = read(pty_channel->fd, buffer, IO_BUF_SIZE-1); ++#else ++ if (!ReadFile(_get_osfhandle(pty_channel->fd), ++ buffer, IO_BUF_SIZE-1, (LPDWORD)&n, NULL)) ++ { ++ DWORD werr = GetLastError(); ++ } ++#endif ++ ++ LOCK(pty_channel->mutex); ++ ++ pty_channel->revents = G_IO_IN; ++ ++ if (n > 0) ++ { ++ VtePtyWin32Chunk *chunk = _vte_ptywin_io_chunk_new(buffer, n); ++ g_queue_push_tail(pty_channel->data, chunk); ++ SetEvent(pty_channel->data_event); ++ } ++ else ++ { ++ if (n == 0) ++ pty_channel->revents |= G_IO_HUP; ++ else ++ { ++ int err = errno, derr = _doserrno; ++ pty_channel->revents |= G_IO_ERR; ++ } ++ break; ++ } ++ } ++ ++ SetEvent(pty_channel->data_event); ++ ++ UNLOCK(pty_channel->mutex); ++ ++ g_io_channel_unref(&pty_channel->channel); ++ ++ return 0; ++} ++ ++int ++_vte_ptywin_io_read(GIOChannel *channel, guchar *buf, int len) ++{ ++ VtePtyWin32IOChannel *pty_channel; ++ VtePtyWin32Chunk *chunk; ++ int result = 0; ++ ++ pty_channel = (VtePtyWin32IOChannel *)channel; ++ errno = 0; ++ ++ LOCK(pty_channel->mutex); ++ ++ if (g_queue_is_empty(pty_channel->data)) ++ if (pty_channel->revents & G_IO_HUP) ++ result = 0; ++ else ++ { ++ errno = EAGAIN; ++ result = -1; ++ } ++ ++ while ((len > 0) && (!g_queue_is_empty(pty_channel->data))) ++ { ++ chunk = g_queue_pop_head(pty_channel->data); ++ if (chunk->len <= len) ++ { ++ memcpy(buf+result, chunk->data, chunk->len); ++ len -= chunk->len; ++ result += chunk->len; ++ } ++ else ++ { ++ VtePtyWin32Chunk *new_chunk; ++ ++ memcpy(buf+result, chunk->data, len); ++ new_chunk = _vte_ptywin_io_chunk_new(chunk->data+len, chunk->len-len); ++ g_queue_push_head(pty_channel->data, new_chunk); ++ result += len; ++ len = 0; ++ } ++ _vte_ptywin_io_free_queue_elem(chunk, NULL); ++ } ++ ++ if (g_queue_is_empty(pty_channel->data)) ++ ResetEvent(pty_channel->data_event); ++ ++ if (result == 0) ++ { ++ int x = result; ++ } ++ ++ UNLOCK(pty_channel->mutex); ++ ++ return result; ++} ++ ++VtePtyWin32* ++_vte_ptywin_new(void) ++{ ++ return (VtePtyWin32*)g_malloc0(sizeof(VtePtyWin32)); ++} ++ ++int ++_vte_ptywin_get_read(int fd) ++{ ++ return ((VtePtyWin32*)fd)->read_fd; ++} ++ ++int ++_vte_ptywin_get_write(int fd) ++{ ++ return ((VtePtyWin32*)fd)->write_fd; ++} ++ ++int ++_vte_ptywin_spawn(char **argv, char **envp, const char *directory, ++ VtePtyWin32 *ptyw, GPid *pid) ++{ ++ HANDLE childRd, childWr, parentRd, parentWr; ++ HANDLE hProcess; ++ DWORD pipeMode; ++ PROCESS_INFORMATION pi; ++ STARTUPINFO si; ++ char buf[4096*8] = {0}, *envbuf; ++ int i, len; ++ ++ hProcess = GetCurrentProcess(); ++ if (CreatePipe(&childRd, &parentWr, 0, 0) == 0 ++ || DuplicateHandle(hProcess, childRd, hProcess, &childRd, 0, TRUE, ++ DUPLICATE_SAME_ACCESS|DUPLICATE_CLOSE_SOURCE) == 0) ++ { ++ pipeMode = GetLastError(); ++ return -1; ++ } ++ if (CreatePipe(&parentRd, &childWr, 0, 0) == 0 ++ || DuplicateHandle(hProcess, childWr, hProcess, &childWr, 0, TRUE, ++ DUPLICATE_SAME_ACCESS|DUPLICATE_CLOSE_SOURCE) == 0) ++ { ++ pipeMode = GetLastError(); ++ CloseHandle(parentWr); ++ CloseHandle(childRd); ++ return -1; ++ } ++ ++#if 0 ++ pipeMode = PIPE_NOWAIT; ++ SetNamedPipeHandleState(parentRd, &pipeMode, 0, 0); ++ SetNamedPipeHandleState(parentWr, &pipeMode, 0, 0); ++#endif ++ ++ ptyw->read_fd = _open_osfhandle(parentRd, _O_RDONLY|_O_BINARY); ++ ptyw->write_fd = _open_osfhandle(parentWr, _O_WRONLY|_O_BINARY); ++ ++ ZeroMemory(&pi, sizeof(pi)); ++ ZeroMemory(&si, sizeof(si)); ++ si.cb = sizeof(si); ++ si.dwFlags |= STARTF_USESTDHANDLES; ++ si.hStdInput = childRd; ++ si.hStdOutput = childWr; ++ si.hStdError = childWr; ++ ++ for (i=0; argv[i] != NULL; i++) ++ { ++ if (i > 0) ++ strcat(buf, " "); ++ strcat(buf, argv[i]); ++ } ++ ++ len = 0; ++ for (i=0; (envp != NULL && envp[i] != NULL); i++) ++ len += (strlen(envp[i]) + 1); ++ if (len > 0) ++ { ++ int idx = 0; ++ ++ len++; ++ envbuf = (char*)g_malloc0(len); ++ for (i=0; envp[i] != NULL; i++) ++ { ++ int n = strlen(envp[i]); ++ ++ memcpy(envbuf+idx, envp[i], n); ++ idx += (n+1); ++ } ++ } ++ else ++ envbuf = NULL; ++ ++ if (CreateProcess(NULL, buf, NULL, NULL, TRUE, 0, envbuf, directory, &si, &pi) != 0) ++ { ++ CloseHandle(childRd); ++ CloseHandle(childWr); ++ CloseHandle(pi.hProcess); ++ CloseHandle(pi.hThread); ++ *pid = pi.dwProcessId; ++ ++ if (envbuf) ++ g_free(envbuf); ++ ++ return TRUE; ++ } ++ ++ pipeMode = GetLastError(); ++ ++ if (envbuf) ++ g_free(envbuf); ++ ++ return FALSE; ++} ++ ++void ++_vte_ptywin_close(int fd) ++{ ++ VtePtyWin32 *ptyw = (VtePtyWin32*)fd; ++ close(ptyw->write_fd); ++ close(ptyw->read_fd); ++ g_free(ptyw); ++} ++ ++int ++_vte_ptywin_openpty(int *fdm, int *fds) ++{ ++ VtePtyWin32 *ptywm, *ptyws; ++ DWORD pipeMode; ++ HANDLE childRd, childWr, parentRd, parentWr; ++ HANDLE hProcess; ++ ++ hProcess = GetCurrentProcess(); ++ if (CreatePipe(&childRd, &parentWr, 0, 0) == 0 ++ || DuplicateHandle(hProcess, childRd, hProcess, &childRd, 0, TRUE, ++ DUPLICATE_SAME_ACCESS|DUPLICATE_CLOSE_SOURCE) == 0) ++ { ++ pipeMode = GetLastError(); ++ return -1; ++ } ++ if (CreatePipe(&parentRd, &childWr, 0, 0) == 0 ++ || DuplicateHandle(hProcess, childWr, hProcess, &childWr, 0, TRUE, ++ DUPLICATE_SAME_ACCESS|DUPLICATE_CLOSE_SOURCE) == 0) ++ { ++ pipeMode = GetLastError(); ++ CloseHandle(parentWr); ++ CloseHandle(childRd); ++ return -1; ++ } ++ ++ ptywm = g_new(VtePtyWin32, 1); ++ ptyws = g_new(VtePtyWin32, 1); ++ ++ ptywm->read_fd = _open_osfhandle(parentRd, _O_RDONLY|_O_BINARY); ++ ptywm->write_fd = _open_osfhandle(parentWr, _O_WRONLY|_O_BINARY); ++ ptyws->read_fd = _open_osfhandle(childRd, _O_RDONLY|_O_BINARY); ++ ptyws->write_fd = _open_osfhandle(childWr, _O_WRONLY|_O_BINARY); ++ ++ *fdm = (int)ptywm; ++ *fds = (int)ptyws; ++} +diff -urN vte-0.16.13/src/ptywin.h vte-0.16.13-new/src/ptywin.h +--- vte-0.16.13/src/ptywin.h Thu Jan 1 01:00:00 1970 ++++ vte-0.16.13-new/src/ptywin.h Mon Apr 14 16:44:36 2008 +@@ -0,0 +1,40 @@ ++/* ++ * Copyright (C) 2008 Michael Goffioul. ++ * ++ * This is free software; you can redistribute it and/or modify it under ++ * the terms of the GNU Library General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU Library General Public ++ * License along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef vte_ptywin_h_included ++#define vte_ptywin_h_included ++ ++#include <glib.h> ++ ++G_BEGIN_DECLS ++ ++typedef struct __VtePtyWin32 VtePtyWin32; ++ ++VtePtyWin32* _vte_ptywin_new(void); ++GIOChannel* _vte_ptywin_io_new(int fd); ++int _vte_ptywin_spawn(char **argv, char **envp, const char *directory, ++ VtePtyWin32 *ptyw, GPid *pid); ++int _vte_ptywin_get_read(int fd); ++int _vte_ptywin_get_write(int fd); ++void _vte_ptywin_close(int fd); ++int _vte_ptywin_io_read(GIOChannel *channel, guchar *buffer, int len); ++int _vte_ptywin_openpty(int *fdm, int *fds); ++ ++G_END_DECLS ++ ++#endif +diff -urN vte-0.16.13/src/reaper.c vte-0.16.13-new/src/reaper.c +--- vte-0.16.13/src/reaper.c Wed Jan 9 21:34:36 2008 ++++ vte-0.16.13-new/src/reaper.c Wed Apr 16 14:47:59 2008 +@@ -18,7 +18,9 @@ + + #include "../config.h" + #include <sys/types.h> ++#ifdef HAVE_SYS_WAIT_H + #include <sys/wait.h> ++#endif + #include <signal.h> + #include <stdio.h> + #include <stdlib.h> +@@ -48,6 +50,7 @@ + static void + vte_reaper_signal_handler(int signum) + { ++#ifdef SIGCHLD + struct reaper_info info; + int status; + +@@ -68,12 +71,14 @@ + } + } + } ++#endif + } + + static gboolean + vte_reaper_emit_signal(GIOChannel *channel, GIOCondition condition, + gpointer data) + { ++#ifdef SIGCHLD + struct reaper_info info; + if (condition != G_IO_IN) { + return FALSE; +@@ -87,6 +92,9 @@ + info.pid, info.status); + } + return TRUE; ++#else ++ return FALSE; ++#endif + } + + #if GLIB_CHECK_VERSION(2,4,0) +@@ -114,7 +122,7 @@ + int + vte_reaper_add_child(GPid pid) + { +-#if GLIB_CHECK_VERSION(2,4,0) ++#if GLIB_CHECK_VERSION(2,4,0) && ! defined (_MSC_VER) + return g_child_watch_add_full(G_PRIORITY_HIGH, + pid, + vte_reaper_child_watch_cb, +@@ -127,6 +135,7 @@ + static void + vte_reaper_init(VteReaper *reaper) + { ++#ifdef SIGCHLD + struct sigaction action; + int ret; + +@@ -161,6 +170,10 @@ + sigaction(SIGCHLD, &action, NULL); + _vte_debug_print(VTE_DEBUG_SIGNALS, + "Hooked SIGCHLD signal in reaper.\n"); ++#else ++ _vte_debug_print(VTE_DEBUG_SIGNALS, ++ "SIGCHLD signal not supported.\n"); ++#endif + } + + static GObject* +@@ -182,6 +195,7 @@ + static void + vte_reaper_finalize(GObject *reaper) + { ++#ifdef SIGCHLD + struct sigaction action, old_action; + + /* Reset the signal handler if we still have it hooked. */ +@@ -207,6 +221,7 @@ + + G_OBJECT_CLASS(vte_reaper_parent_class)->finalize(reaper); + singleton_reaper = NULL; ++#endif + } + + static void +diff -urN vte-0.16.13/src/reaper.h vte-0.16.13-new/src/reaper.h +--- vte-0.16.13/src/reaper.h Mon Feb 26 22:05:13 2007 ++++ vte-0.16.13-new/src/reaper.h Wed Apr 16 14:47:29 2008 +@@ -19,8 +19,9 @@ + #ifndef vte_reaper_h_included + #define vte_reaper_h_included + +- ++#ifdef HAVE_SYS_WAIT_H + #include <sys/wait.h> ++#endif + #include <signal.h> + #include <glib.h> + #include <glib-object.h> +diff -urN vte-0.16.13/src/trie.c vte-0.16.13-new/src/trie.c +--- vte-0.16.13/src/trie.c Wed Jan 9 21:32:44 2008 ++++ vte-0.16.13-new/src/trie.c Wed Apr 16 14:48:51 2008 +@@ -47,6 +47,10 @@ + #define TRIE_MAYBE_STATIC + #endif + ++#ifdef _MSC_VER ++#define snprintf _snprintf ++#endif ++ + /* Structures and whatnot for tracking character classes. */ + struct char_class_data { + gunichar c; /* A character. */ +diff -urN vte-0.16.13/src/vte-private.h vte-0.16.13-new/src/vte-private.h +--- vte-0.16.13/src/vte-private.h Tue Nov 27 11:29:32 2007 ++++ vte-0.16.13-new/src/vte-private.h Wed Apr 16 14:50:03 2008 +@@ -19,18 +19,26 @@ + #ifndef vte_vte_private_h_included + #define vte_vte_private_h_included + ++#ifndef _MSC_VER + #include <sys/ioctl.h> ++#endif + #include <sys/types.h> ++#ifndef _MSC_VER + #include <sys/param.h> ++#endif + #include <sys/stat.h> + #ifdef HAVE_SYS_TERMIOS_H + #include <sys/termios.h> + #endif ++#ifndef _MSC_VER + #include <sys/time.h> ++#endif + #include <errno.h> + #include <fcntl.h> + #include <math.h> ++#ifndef _MSC_VER + #include <pwd.h> ++#endif + #include <signal.h> + #include <stdio.h> + #include <stdlib.h> +diff -urN vte-0.16.13/src/vte.c vte-0.16.13-new/src/vte.c +--- vte-0.16.13/src/vte.c Fri Feb 8 20:46:11 2008 ++++ vte-0.16.13-new/src/vte.c Wed Apr 16 14:51:14 2008 +@@ -62,6 +62,11 @@ + #define howmany(x, y) (((x) + ((y) - 1)) / (y)) + #endif + ++#ifdef _MSC_VER ++#include "ptywin.h" ++#define close(x) _vte_ptywin_close(x) ++#endif ++ + #if !GTK_CHECK_VERSION(2,2,0) + #define gdk_keymap_get_for_display(dpy) gdk_keymap_get_default() + #endif +@@ -2733,6 +2738,7 @@ + vte_terminal_catch_child_exited(VteReaper *reaper, int pid, int status, + VteTerminal *terminal) + { ++#ifndef _MSC_VER + if (pid == terminal->pvt->pty_pid) { + _VTE_DEBUG_IF (VTE_DEBUG_LIFECYCLE) { + g_printerr ("Child[%d] exited with status %d\n", +@@ -2784,6 +2790,7 @@ + /* Tell observers what's happened. */ + vte_terminal_emit_child_exited(terminal); + } ++#endif + } + + static void mark_input_source_invalid(VteTerminal *terminal) +@@ -2798,7 +2805,13 @@ + } + if (terminal->pvt->pty_input == NULL) { + terminal->pvt->pty_input = ++#ifndef _MSC_VER + g_io_channel_unix_new(terminal->pvt->pty_master); ++#else ++ _vte_ptywin_io_new( ++ _vte_ptywin_get_read(terminal->pvt->pty_master)); ++ /*g_io_channel_win32_set_debug(terminal->pvt->pty_input, TRUE);*/ ++#endif + } + if (terminal->pvt->pty_input_source == VTE_INVALID_SOURCE) { + terminal->pvt->pty_input_source = +@@ -2823,7 +2836,13 @@ + } + if (terminal->pvt->pty_output == NULL) { + terminal->pvt->pty_output = ++#ifndef _MSC_VER + g_io_channel_unix_new(terminal->pvt->pty_master); ++#else ++ g_io_channel_win32_new_fd( ++ _vte_ptywin_get_write(terminal->pvt->pty_master)); ++ /*g_io_channel_win32_set_debug(terminal->pvt->pty_output, TRUE);*/ ++#endif + } + if (terminal->pvt->pty_output_source == VTE_INVALID_SOURCE) { + terminal->pvt->pty_output_source = +@@ -2936,11 +2955,13 @@ + } else + g_object_unref(reaper); + ++#ifndef _MSC_VER + /* Set the pty to be non-blocking. */ + i = fcntl(terminal->pvt->pty_master, F_GETFL); + if ((i & O_NONBLOCK) == 0) { + fcntl(terminal->pvt->pty_master, F_SETFL, i | O_NONBLOCK); + } ++#endif + + /* Set the PTY size. */ + vte_terminal_set_size(terminal, +@@ -2992,6 +3013,7 @@ + + /* Make the user's shell the default command. */ + if (command == NULL) { ++#ifndef _MSC_VER + if (terminal->pvt->shell == NULL) { + struct passwd *pwd; + +@@ -3003,6 +3025,7 @@ + terminal->pvt->shell); + } + } ++#endif + if (terminal->pvt->shell == NULL) { + if (getenv ("SHELL")) { + terminal->pvt->shell = getenv ("SHELL"); +@@ -3651,7 +3674,11 @@ + bp = chunk->data + chunk->len; + len = 0; + do { ++#ifndef _MSC_VER + int ret = read (fd, bp, rem); ++#else ++ int ret = _vte_ptywin_io_read (channel, bp, rem); ++#endif + switch (ret){ + case -1: + err = errno; +@@ -4184,7 +4211,9 @@ + gssize normal_length = 0; + int i; + const char *special = NULL; ++#ifndef _MSC_VER + struct termios tio; ++#endif + gboolean scrolled = FALSE, steal = FALSE, modifier = FALSE, handled, + suppress_meta_esc = FALSE; + guint keyval = 0; +@@ -4330,12 +4359,14 @@ + case VTE_ERASE_AUTO: + default: + if (terminal->pvt->pty_master != -1) { ++#ifndef _MSC_VER + if (tcgetattr(terminal->pvt->pty_master, + &tio) != -1) { + normal = g_strdup_printf("%c", + tio.c_cc[VERASE]); + normal_length = 1; + } ++#endif + } + suppress_meta_esc = FALSE; + break; +@@ -5698,7 +5729,10 @@ + vte_terminal_emit_selection_changed(terminal); + + /* Temporarily stop caring about input from the child. */ ++#ifndef _MSC_VER ++ /* TODO: channel should be disabled temporarily */ + _vte_terminal_disconnect_pty_read(terminal); ++#endif + } + + /* Extend selection to include the given event coordinates. */ +@@ -7052,6 +7086,13 @@ + g_warning(_("Error setting PTY size: %s."), + strerror(errno)); + } ++#ifdef _MSC_VER ++ { ++ char buf[128] = {0}; ++ _snprintf(buf, 127, "\033[X%dx%d", columns, rows); ++ vte_terminal_feed_child_binary(terminal, buf, strlen(buf)+1); ++ } ++#endif + /* Read the terminal size, in case something went awry. */ + vte_terminal_refresh_size(terminal); + } else { +@@ -7489,7 +7530,11 @@ + vte_terminal_set_word_chars(terminal, NULL); + + /* Miscellaneous options. */ ++#ifndef _MSC_VER + vte_terminal_set_backspace_binding(terminal, VTE_ERASE_AUTO); ++#else ++ vte_terminal_set_backspace_binding(terminal, VTE_ERASE_ASCII_BACKSPACE); ++#endif + vte_terminal_set_delete_binding(terminal, VTE_ERASE_AUTO); + pvt->meta_sends_escape = TRUE; + pvt->audible_bell = TRUE; +@@ -7910,8 +7955,9 @@ + if (pgrp != -1) { + kill(-pgrp, SIGHUP); + } +-#endif ++#elif ! defined(_MSC_VER) + kill(terminal->pvt->pty_pid, SIGHUP); ++#endif + } + _vte_terminal_disconnect_pty_read(terminal); + _vte_terminal_disconnect_pty_write(terminal); +@@ -12018,10 +12064,12 @@ + + + /* Set the pty to be non-blocking. */ ++#ifndef _MSC_VER + i = fcntl(terminal->pvt->pty_master, F_GETFL); + if ((i & O_NONBLOCK) == 0) { + fcntl(terminal->pvt->pty_master, F_SETFL, i | O_NONBLOCK); + } ++#endif + + vte_terminal_set_size(terminal, + terminal->column_count, +diff -urN vte-0.16.13/src/vteapp.c vte-0.16.13-new/src/vteapp.c +--- vte-0.16.13/src/vteapp.c Fri Feb 8 20:48:57 2008 ++++ vte-0.16.13-new/src/vteapp.c Wed Apr 16 14:52:12 2008 +@@ -20,7 +20,9 @@ + #include "../config.h" + + #include <stdlib.h> ++#ifndef _MSC_VER + #include <sys/ioctl.h> ++#endif + #include <sys/stat.h> + #include <errno.h> + #include <fcntl.h> +@@ -36,6 +38,12 @@ + #define DINGUS1 "(((news|telnet|nntp|file|http|ftp|https)://)|(www|ftp)[-A-Za-z0-9]*\\.)[-A-Za-z0-9\\.]+(:[0-9]*)?" + #define DINGUS2 "(((news|telnet|nntp|file|http|ftp|https)://)|(www|ftp)[-A-Za-z0-9]*\\.)[-A-Za-z0-9\\.]+(:[0-9]*)?/[-A-Za-z0-9_\\$\\.\\+\\!\\*\\(\\),;:@&=\\?/~\\#\\%]*[^]'\\.}>\\) ,\\\"]" + ++#ifdef _MSC_VER ++#undef DATADIR ++#include <windows.h> ++#define sleep(x) Sleep((x)*1000) ++#endif ++ + static void + window_title_changed(GtkWidget *widget, gpointer win) + { +@@ -145,6 +153,7 @@ + destroy_and_quit_eof(GtkWidget *widget, gpointer data) + { + _vte_debug_print(VTE_DEBUG_MISC, "Detected EOF.\n"); ++ destroy_and_quit(widget, data); + } + static void + destroy_and_quit_exited(GtkWidget *widget, gpointer data) +@@ -737,7 +746,9 @@ + /* Open a "console" connection. */ + int consolefd = -1, yes = 1, watch; + GIOChannel *channel; ++#ifndef _MSC_VER + consolefd = open("/dev/console", O_RDONLY | O_NOCTTY); ++#endif + if (consolefd != -1) { + /* Assume failure. */ + console = FALSE; +@@ -780,11 +791,12 @@ + + if (!console) { + if (shell) { ++ char *argv[] = {"-i", NULL}; + /* Launch a shell. */ + _VTE_DEBUG_IF(VTE_DEBUG_MISC) + vte_terminal_feed(terminal, message, -1); + vte_terminal_fork_command(terminal, +- command, NULL, env_add, ++ command, (command?NULL:argv), env_add, + working_directory, + TRUE, TRUE, TRUE); + #ifdef VTE_DEBUG +@@ -844,7 +856,7 @@ + + + gtk_main(); +- ++ + g_assert(widget == NULL); + g_assert(window == NULL); + +diff -urN vte-0.16.13/src/vtedraw.c vte-0.16.13-new/src/vtedraw.c +--- vte-0.16.13/src/vtedraw.c Tue Nov 27 09:41:31 2007 ++++ vte-0.16.13-new/src/vtedraw.c Wed Apr 16 11:58:19 2008 +@@ -32,6 +32,7 @@ + #include "vtegl.h" + #include "vtepango.h" + #include "vtepangox.h" ++#include "vtepangowin.h" + #include "vteskel.h" + #include "vtexft.h" + +@@ -54,6 +55,9 @@ + &_vte_draw_pango_x, + #endif /* HAVE_PANGOX */ + #endif /* !X_DISPLAY_MISSING */ ++#ifdef HAVE_PANGOWIN ++ &_vte_draw_pango_win, ++#endif /* HAVE_PANGOWIN */ + }; + + static gboolean +diff -urN vte-0.16.13/src/vteft2.c vte-0.16.13-new/src/vteft2.c +--- vte-0.16.13/src/vteft2.c Wed Nov 28 14:44:48 2007 ++++ vte-0.16.13-new/src/vteft2.c Wed Apr 16 14:52:57 2008 +@@ -19,7 +19,9 @@ + + #include "../config.h" + ++#ifndef _MSC_VER + #include <sys/param.h> ++#endif + #include <string.h> + #include <gtk/gtk.h> + #include <glib.h> +diff -urN vte-0.16.13/src/vteglyph.c vte-0.16.13-new/src/vteglyph.c +--- vte-0.16.13/src/vteglyph.c Wed Jan 9 21:32:53 2008 ++++ vte-0.16.13-new/src/vteglyph.c Wed Apr 16 14:53:15 2008 +@@ -19,7 +19,9 @@ + + #include "../config.h" + ++#ifndef _MSC_VER + #include <sys/param.h> ++#endif + #include <math.h> + #include <gdk/gdk.h> + #include <glib.h> +@@ -33,6 +35,10 @@ + #define FONT_INDEX_FUDGE 10 + #define CHAR_WIDTH_FUDGE 10 + #define INVALID_GLYPH GINT_TO_POINTER(-1) ++ ++#ifndef howmany ++#define howmany(x, y) (((x) + ((y) - 1)) / (y)) ++#endif + + static FT_Face _vte_glyph_cache_face_for_char(struct _vte_glyph_cache *cache, + gunichar c); +diff -urN vte-0.16.13/src/vtepango.c vte-0.16.13-new/src/vtepango.c +--- vte-0.16.13/src/vtepango.c Wed Nov 28 14:55:04 2007 ++++ vte-0.16.13-new/src/vtepango.c Wed Apr 16 14:53:48 2008 +@@ -19,7 +19,9 @@ + + #include "../config.h" + ++#ifndef _MSC_VER + #include <sys/param.h> ++#endif + #include <stdio.h> + #include <stdlib.h> + #include <string.h> +@@ -29,6 +31,10 @@ + #include "vtebg.h" + #include "vtedraw.h" + #include "vtepango.h" ++ ++#ifndef howmany ++#define howmany(x, y) (((x) + ((y) - 1)) / (y)) ++#endif + + struct _vte_pango_data + { +diff -urN vte-0.16.13/src/vtepangowin.c vte-0.16.13-new/src/vtepangowin.c +--- vte-0.16.13/src/vtepangowin.c Thu Jan 1 01:00:00 1970 ++++ vte-0.16.13-new/src/vtepangowin.c Wed Apr 16 12:14:31 2008 +@@ -0,0 +1,499 @@ ++/* ++ * Copyright (C) 2008 Red Hat, Inc. ++ * ++ * This is free software; you can redistribute it and/or modify it under ++ * the terms of the GNU Library General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU Library General Public ++ * License along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++ ++#include "../config.h" ++ ++#ifdef HAVE_PANGOWIN ++ ++#undef DATADIR ++#include <stdio.h> ++#include <string.h> ++#include <gtk/gtk.h> ++#include <gdk/gdkwin32.h> ++#include <pango/pango.h> ++#include <pango/pangowin32.h> ++#include "debug.h" ++#include "vtebg.h" ++#include "vtedraw.h" ++#include "vtepangowin.h" ++ ++#ifndef howmany ++#define howmany(x, y) (((x) + ((y) - 1)) / (y)) ++#endif ++ ++struct _vte_pango_win_data ++{ ++ GdkColor color; ++ GdkPixmap *pixmap; ++ gint pixmapw, pixmaph; ++ gint scrollx, scrolly; ++ PangoFontDescription *font; ++ PangoLayout *layout; ++ GdkGC *gc; ++ PangoContext *ctx; ++ int x_offs, y_offs; ++}; ++ ++static gboolean ++_vte_pango_win_check(struct _vte_draw *draw, GtkWidget *widget) ++{ ++ /* We can draw onto any widget. */ ++ return TRUE; ++} ++ ++static void ++_vte_pango_win_create(struct _vte_draw *draw, GtkWidget *widget) ++{ ++ struct _vte_pango_win_data *data; ++ ++ draw->impl_data = g_slice_new(struct _vte_pango_win_data); ++ data = (struct _vte_pango_win_data*) draw->impl_data; ++ ++ data->color.red = 0; ++ data->color.green = 0; ++ data->color.blue = 0; ++ data->pixmap = NULL; ++ data->pixmapw = data->pixmaph = 0; ++ data->scrollx = data->scrolly = 0; ++ data->font = NULL; ++ data->layout = NULL; ++ data->gc = NULL; ++ data->ctx = NULL; ++} ++ ++static void ++_vte_pango_win_destroy(struct _vte_draw *draw) ++{ ++ struct _vte_pango_win_data *data; ++ data = (struct _vte_pango_win_data*) draw->impl_data; ++ ++ if (data->pixmap != NULL) { ++ g_object_unref(data->pixmap); ++ } ++ if (data->font != NULL) { ++ pango_font_description_free(data->font); ++ } ++ if (data->layout != NULL) { ++ g_object_unref(data->layout); ++ } ++ if (data->gc != NULL) { ++ g_object_unref(data->gc); ++ } ++ if (data->ctx != NULL) { ++ g_object_unref(data->ctx); ++ } ++ ++ g_slice_free(struct _vte_pango_win_data, draw->impl_data); ++} ++ ++static GdkVisual * ++_vte_pango_win_get_visual(struct _vte_draw *draw) ++{ ++ return gtk_widget_get_visual(draw->widget); ++} ++ ++static GdkColormap * ++_vte_pango_win_get_colormap(struct _vte_draw *draw) ++{ ++ return gtk_widget_get_colormap(draw->widget); ++} ++ ++static void ++_vte_pango_win_start(struct _vte_draw *draw) ++{ ++ struct _vte_pango_win_data *data; ++ GdkDrawable *drawable; ++ int x_offs, y_offs; ++ ++ data = (struct _vte_pango_win_data*) draw->impl_data; ++ ++ if (data->ctx != NULL) { ++ g_object_unref(data->ctx); ++ } ++ data->ctx = pango_win32_get_context(); ++ ++ if (data->layout != NULL) { ++ g_object_unref(data->layout); ++ } ++ data->layout = pango_layout_new(data->ctx); ++ ++ if (data->font != NULL) { ++ pango_layout_set_font_description(data->layout, data->font); ++ } ++ ++ if (data->gc != NULL) { ++ g_object_unref(data->gc); ++ } ++ data->gc = gdk_gc_new(draw->widget->window); ++ ++ gdk_rgb_find_color(gdk_drawable_get_colormap(draw->widget->window), ++ &data->color); ++ ++ gdk_window_get_internal_paint_info(draw->widget->window, &drawable, ++ &x_offs, &y_offs); ++ data->x_offs = x_offs; ++ data->y_offs = y_offs; ++} ++ ++static void ++_vte_pango_win_end(struct _vte_draw *draw) ++{ ++ struct _vte_pango_win_data *data; ++ data = (struct _vte_pango_win_data*) draw->impl_data; ++ ++ data->x_offs = 0; ++ data->y_offs = 0; ++ ++ if (data->layout != NULL) { ++ g_object_unref(data->layout); ++ } ++ data->layout = NULL; ++ ++ if (data->gc != NULL) { ++ g_object_unref(data->gc); ++ } ++ data->gc = NULL; ++ ++ if (data->ctx != NULL) { ++ g_object_unref(data->ctx); ++ } ++ data->ctx = NULL; ++} ++ ++static void ++_vte_pango_win_set_background_color(struct _vte_draw *draw, GdkColor *color, guint16 opacity) ++{ ++ struct _vte_pango_win_data *data; ++ data = (struct _vte_pango_win_data*) draw->impl_data; ++ data->color = *color; ++} ++ ++static void ++_vte_pango_win_set_background_image(struct _vte_draw *draw, ++ enum VteBgSourceType type, ++ GdkPixbuf *pixbuf, ++ const char *file, ++ const GdkColor *color, ++ double saturation) ++{ ++ GdkPixmap *pixmap; ++ struct _vte_pango_win_data *data; ++ GdkScreen *screen; ++ ++ screen = gtk_widget_get_screen (draw->widget); ++ ++ data = (struct _vte_pango_win_data*) draw->impl_data; ++ pixmap = vte_bg_get_pixmap(vte_bg_get_for_screen(screen), ++ type, pixbuf, file, ++ color, saturation, ++ _vte_draw_get_colormap(draw, TRUE)); ++ if (data->pixmap != NULL) { ++ g_object_unref(data->pixmap); ++ } ++ draw->requires_clear = FALSE; ++ data->pixmap = NULL; ++ data->pixmapw = data->pixmaph = 0; ++ if (pixmap != NULL) { ++ data->pixmap = pixmap; ++ gdk_drawable_get_size(pixmap, &data->pixmapw, &data->pixmaph); ++ draw->requires_clear = ++ data->pixmapw > 0 && data->pixmaph > 0; ++ } ++} ++ ++static void ++_vte_pango_win_clip(struct _vte_draw *draw, GdkRegion *region) ++{ ++ struct _vte_pango_win_data *data = draw->impl_data; ++ gdk_gc_set_clip_region(data->gc, region); ++} ++ ++static void ++_vte_pango_win_clear(struct _vte_draw *draw, ++ gint x, gint y, gint width, gint height) ++{ ++ struct _vte_pango_win_data *data; ++ gint i, j, h, w, xstop, ystop; ++ ++ data = (struct _vte_pango_win_data*) draw->impl_data; ++ ++ if ((data->pixmap == NULL) || ++ (data->pixmapw == 0) || ++ (data->pixmaph == 0)) { ++ gdk_gc_set_foreground(data->gc, &data->color); ++ gdk_draw_rectangle(draw->widget->window, ++ data->gc, ++ TRUE, ++ x, y, width, height); ++ return; ++ } ++ ++ /* Flood fill. */ ++ xstop = x + width; ++ ystop = y + height; ++ ++ y = ystop - height; ++ j = (data->scrolly + y) % data->pixmaph; ++ while (y < ystop) { ++ x = xstop - width; ++ i = (data->scrollx + x) % data->pixmapw; ++ h = MIN(data->pixmaph - (j % data->pixmaph), ystop - y); ++ while (x < xstop) { ++ w = MIN(data->pixmapw - (i % data->pixmapw), xstop - x); ++ gdk_draw_drawable(draw->widget->window, ++ data->gc, ++ data->pixmap, ++ i, j, ++ x, y, ++ w, h); ++ x += w; ++ i = 0; ++ } ++ y += h; ++ j = 0; ++ } ++} ++ ++static void ++_vte_pango_win_set_text_font(struct _vte_draw *draw, ++ const PangoFontDescription *fontdesc, ++ VteTerminalAntiAlias antialias) ++{ ++ PangoContext *ctx; ++ PangoLayout *layout; ++ PangoLayoutIter *iter; ++ PangoRectangle ink, logical; ++ gunichar full_codepoints[] = {VTE_DRAW_DOUBLE_WIDE_IDEOGRAPHS}; ++ GString *full_string; ++ gint full_width; ++ guint i; ++ struct _vte_pango_win_data *data; ++ ++ data = (struct _vte_pango_win_data*) draw->impl_data; ++ ++ if (data->ctx != NULL) { ++ g_object_unref(data->ctx); ++ } ++ ctx = pango_win32_get_context(); ++ ++ layout = pango_layout_new(ctx); ++ if (data->font != NULL) { ++ pango_font_description_free(data->font); ++ } ++ data->font = pango_font_description_copy(fontdesc); ++ pango_layout_set_font_description(layout, data->font); ++ ++ /* Estimate for ASCII characters. */ ++ pango_layout_set_text(layout, ++ VTE_DRAW_SINGLE_WIDE_CHARACTERS, ++ strlen(VTE_DRAW_SINGLE_WIDE_CHARACTERS)); ++ pango_layout_get_extents(layout, &ink, &logical); ++ draw->width = logical.width; ++ draw->width = howmany(draw->width, ++ strlen(VTE_DRAW_SINGLE_WIDE_CHARACTERS)); ++ iter = pango_layout_get_iter(layout); ++ draw->height = PANGO_PIXELS(logical.height); ++ draw->ascent = PANGO_PIXELS(pango_layout_iter_get_baseline(iter)); ++ pango_layout_iter_free(iter); ++ ++ /* Estimate for CJK characters. */ ++ full_string = g_string_new(NULL); ++ for (i = 0; i < G_N_ELEMENTS(full_codepoints); i++) { ++ g_string_append_unichar(full_string, full_codepoints[i]); ++ } ++ pango_layout_set_text(layout, full_string->str, full_string->len); ++ pango_layout_get_extents(layout, &ink, &logical); ++ full_width = howmany(logical.width, G_N_ELEMENTS(full_codepoints)); ++ g_string_free(full_string, TRUE); ++ ++ /* If they're the same, then we have a screwy font. */ ++ if (full_width == draw->width) { ++ /* add 1 to round up when dividing by 2 */ ++ draw->width = (draw->width + 1) / 2; ++ } ++ ++ draw->width = PANGO_PIXELS(draw->width); ++ iter = pango_layout_get_iter(layout); ++ if (draw->height == 0) { ++ draw->height = PANGO_PIXELS(logical.height); ++ } ++ if (draw->ascent == 0) { ++ draw->ascent = PANGO_PIXELS(pango_layout_iter_get_baseline(iter)); ++ } ++ pango_layout_iter_free(iter); ++ ++ _vte_debug_print(VTE_DEBUG_MISC, ++ "VtePangoWin font metrics = %dx%d (%d).\n", ++ draw->width, draw->height, draw->ascent); ++ g_object_unref(layout); ++ g_object_unref(ctx); ++} ++ ++static int ++_vte_pango_win_get_text_width(struct _vte_draw *draw) ++{ ++ return draw->width; ++} ++ ++static int ++_vte_pango_win_get_text_height(struct _vte_draw *draw) ++{ ++ return draw->height; ++} ++ ++static int ++_vte_pango_win_get_text_ascent(struct _vte_draw *draw) ++{ ++ return draw->ascent; ++} ++ ++static int ++_vte_pango_win_get_char_width(struct _vte_draw *draw, gunichar c, int columns) ++{ ++ return _vte_pango_win_get_text_width(draw) * columns; ++} ++ ++static gboolean ++_vte_pango_win_get_using_fontconfig(struct _vte_draw *draw) ++{ ++ return FALSE; ++} ++ ++static void ++_vte_pango_win_draw_text(struct _vte_draw *draw, ++ struct _vte_draw_text_request *requests, ++ gsize n_requests, ++ GdkColor *color, guchar alpha) ++{ ++ HDC hdc; ++ struct _vte_pango_win_data *data; ++ char buf[VTE_UTF8_BPC]; ++ gsize i, length; ++ GdkColor wcolor; ++ ++ data = (struct _vte_pango_win_data*) draw->impl_data; ++ ++ wcolor = *color; ++ gdk_rgb_find_color(gdk_drawable_get_colormap(draw->widget->window), ++ &wcolor); ++ gdk_gc_set_foreground(data->gc, &wcolor); ++ hdc = gdk_win32_hdc_get(draw->widget->window, data->gc, GDK_GC_FOREGROUND|GDK_GC_CLIP_MASK); ++ ++ for (i = 0; i < n_requests; i++) { ++ length = g_unichar_to_utf8(requests[i].c, buf); ++ pango_layout_set_text(data->layout, buf, length); ++ pango_win32_render_layout(hdc, ++ data->layout, ++ requests[i].x - data->x_offs, ++ requests[i].y - data->y_offs); ++ } ++ ++ gdk_win32_hdc_release(draw->widget->window, data->gc, GDK_GC_FOREGROUND|GDK_GC_CLIP_MASK); ++} ++ ++static gboolean ++_vte_pango_win_draw_char(struct _vte_draw *draw, ++ struct _vte_draw_text_request *request, ++ GdkColor *color, guchar alpha) ++{ ++ _vte_pango_win_draw_text(draw, request, 1, color, alpha); ++ return TRUE; ++} ++ ++static gboolean ++_vte_pango_win_draw_has_char(struct _vte_draw *draw, gunichar c) ++{ ++ return FALSE; ++} ++ ++ ++static void ++_vte_pango_win_draw_rectangle(struct _vte_draw *draw, ++ gint x, gint y, gint width, gint height, ++ GdkColor *color, guchar alpha) ++{ ++ struct _vte_pango_win_data *data; ++ GdkColor wcolor; ++ ++ data = (struct _vte_pango_win_data*) draw->impl_data; ++ ++ wcolor = *color; ++ gdk_rgb_find_color(gdk_drawable_get_colormap(draw->widget->window), ++ &wcolor); ++ gdk_gc_set_foreground(data->gc, &wcolor); ++ ++ gdk_draw_rectangle(draw->widget->window, data->gc, FALSE, ++ x, y, width-1, height-1); ++} ++ ++static void ++_vte_pango_win_fill_rectangle(struct _vte_draw *draw, ++ gint x, gint y, gint width, gint height, ++ GdkColor *color, guchar alpha) ++{ ++ struct _vte_pango_win_data *data; ++ GdkColor wcolor; ++ ++ data = (struct _vte_pango_win_data*) draw->impl_data; ++ wcolor = *color; ++ gdk_rgb_find_color(gdk_drawable_get_colormap(draw->widget->window), ++ &wcolor); ++ gdk_gc_set_foreground(data->gc, &wcolor); ++ gdk_draw_rectangle(draw->widget->window, data->gc, TRUE, ++ x, y, width, height); ++} ++ ++static void ++_vte_pango_win_set_scroll(struct _vte_draw *draw, gint x, gint y) ++{ ++ struct _vte_pango_win_data *data; ++ data = (struct _vte_pango_win_data*) draw->impl_data; ++ data->scrollx = x; ++ data->scrolly = y; ++} ++ ++const struct _vte_draw_impl _vte_draw_pango_win = { ++ "pangowin", ++ _vte_pango_win_check, ++ _vte_pango_win_create, ++ _vte_pango_win_destroy, ++ _vte_pango_win_get_visual, ++ _vte_pango_win_get_colormap, ++ _vte_pango_win_start, ++ _vte_pango_win_end, ++ _vte_pango_win_set_background_color, ++ _vte_pango_win_set_background_image, ++ FALSE, ++ _vte_pango_win_clip, ++ _vte_pango_win_clear, ++ _vte_pango_win_set_text_font, ++ _vte_pango_win_get_text_width, ++ _vte_pango_win_get_text_height, ++ _vte_pango_win_get_text_ascent, ++ _vte_pango_win_get_char_width, ++ _vte_pango_win_get_using_fontconfig, ++ _vte_pango_win_draw_text, ++ _vte_pango_win_draw_char, ++ _vte_pango_win_draw_has_char, ++ _vte_pango_win_draw_rectangle, ++ _vte_pango_win_fill_rectangle, ++ _vte_pango_win_set_scroll, ++}; ++ ++#endif +diff -urN vte-0.16.13/src/vtepangowin.h vte-0.16.13-new/src/vtepangowin.h +--- vte-0.16.13/src/vtepangowin.h Thu Jan 1 01:00:00 1970 ++++ vte-0.16.13-new/src/vtepangowin.h Wed Apr 16 11:21:07 2008 +@@ -0,0 +1,33 @@ ++/* ++ * Copyright (C) 2008 Red Hat, Inc. ++ * ++ * This is free software; you can redistribute it and/or modify it under ++ * the terms of the GNU Library General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, but ++ * WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * General Public License for more details. ++ * ++ * You should have received a copy of the GNU Library General Public ++ * License along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef vte_vtepangowin_h_included ++#define vte_vtepangowin_h_included ++ ++/* The interfaces in this file are subject to change at any time. */ ++ ++ ++#include "vtedraw.h" ++ ++G_BEGIN_DECLS ++ ++extern const struct _vte_draw_impl _vte_draw_pango_win; ++ ++G_END_DECLS ++ ++#endif +diff -urN vte-0.16.13/src/vterdb.c vte-0.16.13-new/src/vterdb.c +--- vte-0.16.13/src/vterdb.c Sat Nov 24 02:24:40 2007 ++++ vte-0.16.13-new/src/vterdb.c Wed Apr 16 12:39:52 2008 +@@ -27,6 +27,11 @@ + #endif + #include "vterdb.h" + ++#ifdef _MSC_VER ++#undef DATADIR ++#include <windows.h> ++#endif ++ + #define DEFAULT_ANTIALIAS TRUE + #define DEFAULT_DPI -1 + #define DEFAULT_RGBA "none" +@@ -38,11 +43,15 @@ + GdkAtom *type, int *size, + char **retval) + { ++#ifndef _MSC_VER + return gdk_property_get(window, atom, GDK_TARGET_STRING, + 0, INT_MAX - 3, + FALSE, + type, NULL, size, + (guchar**) retval); ++#else ++ return FALSE; ++#endif + } + + static gchar ** +@@ -204,7 +213,18 @@ + double + _vte_rdb_get_dpi(GtkWidget *widget) + { ++#ifdef _MSC_VER ++ HDC hdc; ++ double ret; ++ ++ hdc = CreateDC("DISPLAY", NULL, NULL, NULL); ++ ret = GetDeviceCaps(hdc, LOGPIXELSY); ++ DeleteDC(hdc); ++ ++ return ret; ++#else + return _vte_rdb_double(widget, "Xft.dpi", DEFAULT_DPI); ++#endif + } + + gboolean +diff -urN vte-0.16.13/src/vteseq.c vte-0.16.13-new/src/vteseq.c +--- vte-0.16.13/src/vteseq.c Tue Nov 27 14:25:37 2007 ++++ vte-0.16.13-new/src/vteseq.c Tue Apr 15 15:20:42 2008 +@@ -2185,6 +2185,9 @@ + long start, end; + VteScreen *screen; + ++#ifdef _MSC_VER ++ terminal->pvt->screen->cursor_current.col = 0; ++#endif + screen = terminal->pvt->screen; + + if (screen->scrolling_restricted) { +diff -urN vte-0.16.13/src/vteskel.c vte-0.16.13-new/src/vteskel.c +--- vte-0.16.13/src/vteskel.c Mon Feb 26 22:05:13 2007 ++++ vte-0.16.13-new/src/vteskel.c Wed Apr 16 14:54:19 2008 +@@ -19,7 +19,9 @@ + + #include "../config.h" + ++#ifndef _MSC_VER + #include <sys/param.h> ++#endif + #include <stdio.h> + #include <string.h> + #include <gtk/gtk.h> Property changes on: trunk/octave-forge/admin/Windows/msvc/libs/vte-0.16.13.diff ___________________________________________________________________ Name: svn:executable + * Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-04-15 19:00:30 UTC (rev 4946) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-04-16 16:08:04 UTC (rev 4947) @@ -42,7 +42,7 @@ netcdf sed makeinfo units less CLN GiNaC wxWidgets gnuplot FLTK octave JOGL forge qhull VC octplot ncurses pkg-config fc-msvc libcurl libxml2 fontconfig GraphicsMagick bzip2 ImageMagick libtiff libwmf jasper GTK ATK Glibmm Cairomm Gtkmm libsigc++ libglade -gtksourceview gdl" +gtksourceview gdl VTE GtkGlArea" octave_version= of_version= do_nsi=false @@ -85,6 +85,8 @@ libgladever=2.6.2 gtksourceviewver=2.2.0 gdlver=0.7.11 +vtever=0.16.13 +gtkglareaver=1.99.0 ################################################################################### @@ -275,6 +277,7 @@ sed -e '/#.*BEGIN LIBTOOL TAG CONFIG: CXX/,/#.*END LIBTOOL TAG CONFIG: CXX/ {/^archive_cmds=.*/,/^postinstall_cmds=.*/ {/^postinstall_cmds=.*/!d;};}' \ -e 's,/OUT:,-OUT:,g' \ -e 's/\$EGREP -e "\$export_symbols_regex"/$EGREP -e EXPORTS -e "$export_symbols_regex"/' \ + -e 's/egrep -e "\$export_symbols_regex"/egrep -e EXPORTS -e "$export_symbols_regex"/' \ -e 's/^export_symbols_cmds="\(.*\) > \\\$export_symbols"/export_symbols_cmds="(echo EXPORTS; \1) > \\$export_symbols"/' \ -e 's,^\([^=]*\)=.*cygpath.*$,\1="",g' \ -e 's,-link -dll,-shared,g' \ @@ -520,6 +523,8 @@ todo_check "$tlibdir/glade-2.0.lib" libglade todo_check "$tlibdir/gtksourceview-2.0.lib" gtksourceview todo_check "$tlibdir/gdl-1.lib" gdl + todo_check "$tlibdir/vte.lib" VTE + todo_check "$tlibdir/gtkgl-2.0.lib" GtkGlArea fi else packages="$todo_packages" @@ -3417,30 +3422,82 @@ # VTE # ####### -# TODO -# - configure.in: comment IT_PROG_INTLTOOL -# - run autoconf -# - src/Makefile: -# remove reaper from sources -# Add -lpcre to VTE_LIBS -# - config.h: -# typedef int pid_t -# #define LINE_MAX 8192 -# define USE_PCRE 1 -# - vte-private.h: comment included filed: -# sys/ioctl.h -# sys/time.h -# sys/param.h -# pwd.h -# - vte.c: comment various parts -# - vteft2.c: comment <sys/param.h> inclusion -# - vteglyph.c: comment <sys/param.h> inclusion -# - vtepango.c: comment <sys/param.h> inclusion -# - vteskel.c: comment <sys/param.h> inclusion -# - pty.c: comment various parts -# - trie.c: s/snprint/_snprintf/ -# - vteglyph.c, vtepango.c: copy howmany macro from vte.c -# - install: -# . : make install-pkgconfigDATA -# ./src : make install-libLTLIBRARIES install-pkgincludeHEADERS -# ./termcaps : make install +if check_package VTE; then + vteroot=`echo $vtever | sed -e 's/\.[0-9]\+$//'` + download_file vte-$vtever.tar.bz2 "http://ftp.gnome.org/pub/GNOME/sources/vte/$vteroot/vte-$vtever.tar.bz2" + echo -n "decompressing VTE... " + unpack_file vte-$vtever.tar.bz2 + cp libs/vte-$vtever.diff "$DOWNLOAD_DIR/vte-$vtever" + echo "done" + echo "compiling VTE... " + (cd "$DOWNLOAD_DIR/vte-$vtever" && + patch -p1 < vte-$vtever.diff && + sed -e "s/^IT_PROG_INTLTOOL/#&/" configure.in > ttt && + mv ttt configure.in && + autoconf && + CC=cc-msvc CFLAGS="-O2 -MD" CXX=cc-msvc CXXFLAGS="-O2 -EHsc -MD" FC=fc-msvc FCFLAGS="-O2 -MD" \ + F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32" AR=ar-msvc RANLIB=ranlib-msvc \ + ./configure --prefix="$tdir_w32_forward" --enable-shared --disable-static --disable-python \ + --disable-gnome-pty-helper && + post_process_libtool && + make -C src libvte.la && + make -C src install-libLTLIBRARIES install-pkgincludeHEADERS && + make install-pkgconfigDATA && + make -C termcaps install + rm -f $tlibdir_quoted/libvte*.la) >&5 2>&1 + rm -rf "$DOWNLOAD_DIR/vte-$vte" + if test ! -f "$tlibdir/vte.lib"; then + echo "failed" + exit -1 + else + echo "done" + fi +fi + +############# +# GtkGlArea # +############# + +if check_package GtkGlArea; then + gtkglarearoot=`echo $gtkglareaver | sed -e 's/\.[0-9]\+$//'` + download_file gtkglarea-$gtkglareaver.tar.gz "http://ftp.gnome.org/pub/GNOME/sources/gtkglarea/$gtkglarearoot/gtkglarea-$gtkglareaver.tar.gz" + echo -n "decompressing GtkGlArea... " + unpack_file gtkglarea-$gtkglareaver.tar.gz + echo "done" + echo "compiling GtkGlArea... " + (cd "$DOWNLOAD_DIR/gtkglarea-$gtkglareaver" && + sed -e "s/-lGLU/-lglu32/g" \ + -e "s/-lGL/-lopengl32/g" \ + -e "/^ *char glBegin()/ {s/glBegin()/__stdcall glBegin(int)/;s/glBegin()/glBegin(0)/;}" \ + configure > ttt && + mv ttt configure && + CC=cc-msvc CFLAGS="-O2 -MD" CXX=cc-msvc CXXFLAGS="-O2 -EHsc -MD" FC=fc-msvc FCFLAGS="-O2 -MD" \ + F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32" AR=ar-msvc RANLIB=ranlib-msvc \ + ./configure --prefix="$tdir_w32_forward" --enable-shared --disable-static && + post_process_libtool && + sed -e "s/gdkgl\.lo/gdkgl-win32.lo/" \ + -e 's/^libgtkgl.*_LDFLAGS =/& -no-undefined -export-symbols-regex "^gtk_gl_area_.*|^gdk_gl_.*"/' \ + gtkgl/Makefile > ttt && + mv ttt gtkgl/Makefile && + sed -e "/#include/ {s,gdk/win32,gdk,;}" \ + -e "s/GDK_DRAWABLE_XID/GDK_WINDOW_HWND/g" \ + -e "s/\(HFONT old_font =\).*/\1 SelectObject (dc, GetStockObject (SYSTEM_FONT));/" \ + gtkgl/gdkgl-win32.c > ttt && + mv ttt gtkgl/gdkgl-win32.c && + for f in examples/gtkglarea_demo.c examples/glpixmap.c; do + sed -e '/#include <GL\/gl.h>/ {i\ +#include <windows.h> +;}' $f > ttt + mv ttt $f + done && + make && + make install && + rm -f $tlibdir_quoted/libgtkgl*.la) >&5 2>&1 + rm -rf "$DOWNLOAD_DIR/gtkglarea-$gtkglarea" + if test ! -f "$tlibdir/gtkgl-2.0.lib"; then + echo "failed" + exit -1 + else + echo "done" + fi +fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2008-04-22 13:59:50
|
Revision: 4969 http://octave.svn.sourceforge.net/octave/?rev=4969&view=rev Author: goffioul Date: 2008-04-22 06:59:53 -0700 (Tue, 22 Apr 2008) Log Message: ----------- Add support for octavede in compilation and installer scripts. Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/octave.nsi.in trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Modified: trunk/octave-forge/admin/Windows/msvc/octave.nsi.in =================================================================== --- trunk/octave-forge/admin/Windows/msvc/octave.nsi.in 2008-04-21 20:27:59 UTC (rev 4968) +++ trunk/octave-forge/admin/Windows/msvc/octave.nsi.in 2008-04-22 13:59:53 UTC (rev 4969) @@ -11,12 +11,16 @@ @HAVE_OCTPLOT@!define USE_OCTPLOT !define USE_OCTAVE_FORGE !define USE_MSYS +#!define USE_CONSOLE +@HAVE_GUI@!define USE_OCTAVEDE !define OCTAVE_BASE "octave-${OCTAVE_VERSION}" ; Location of various components !define OCTAVE_ROOT "${VCLIBS_ROOT}\local\${OCTAVE_BASE}" +!ifdef USE_CONSOLE !define CONSOLE_ROOT "${SOFTWARE_ROOT}\Console2" +!endif !define SCITE_ROOT "${SOFTWARE_ROOT}\wscite" !define GMSH_ROOT "${SOFTWARE_ROOT}\Gmsh" @@ -431,6 +435,7 @@ !insertmacro MUI_STARTMENU_WRITE_END SectionEnd +!ifdef USE_CONSOLE Section /o "Console" SEC_CONSOLE SetOutPath "$INSTDIR\tools\console" SetOverwrite try @@ -452,7 +457,55 @@ "$INSTDIR\bin\octave.ico" 0 !insertmacro MUI_STARTMENU_WRITE_END SectionEnd +!endif +!ifdef USE_OCTAVEDE +Section /o "Graphical User-Interface" SEC_OCTAVEDE + SetOutPath "$INSTDIR\bin" + SetOverwrite try + File "${OCTAVE_ROOT}\bin\octaveui.exe" + File "${VCLIBS_ROOT}\bin\libatk-1.0-0.dll" + File "${VCLIBS_ROOT}\bin\libatkmm-1.6-1.dll" + File "${VCLIBS_ROOT}\bin\libcairo-2.dll" + File "${VCLIBS_ROOT}\bin\libcairomm-1.0-1.dll" + File "${VCLIBS_ROOT}\bin\libfontconfig-1.dll" + File "${VCLIBS_ROOT}\bin\libfreetype-6.dll" + File "${VCLIBS_ROOT}\bin\libgdk-win32-2.0-0.dll" + File "${VCLIBS_ROOT}\bin\libgdk_pixbuf-2.0-0.dll" + File "${VCLIBS_ROOT}\bin\libgdkmm-2.4-1.dll" + File "${VCLIBS_ROOT}\bin\libgdl-1-0.dll" + File "${VCLIBS_ROOT}\bin\libglade-2.0-0.dll" + File "${VCLIBS_ROOT}\bin\libglib-2.0-0.dll" + File "${VCLIBS_ROOT}\bin\libglibmm-2.4-1.dll" + File "${VCLIBS_ROOT}\bin\libgmodule-2.0-0.dll" + File "${VCLIBS_ROOT}\bin\libgobject-2.0-0.dll" + File "${VCLIBS_ROOT}\bin\libgtk-win32-2.0-0.dll" + File "${VCLIBS_ROOT}\bin\libgtkmm-2.4-1.dll" + File "${VCLIBS_ROOT}\bin\libgthread-2.0-0.dll" + File "${VCLIBS_ROOT}\bin\libiconv-2.dll" + File "${VCLIBS_ROOT}\bin\libintl-8.dll" + File "${VCLIBS_ROOT}\bin\libjpeg-62.dll" + File "${VCLIBS_ROOT}\bin\libncurses-5.dll" + File "${VCLIBS_ROOT}\bin\libpango-1.0-0.dll" + File "${VCLIBS_ROOT}\bin\libpangocairo-1.0-0.dll" + File "${VCLIBS_ROOT}\bin\libpangowin32-1.0-0.dll" + File "${VCLIBS_ROOT}\bin\libpangomm-1.4-1.dll" + File "${VCLIBS_ROOT}\bin\libpcre-0.dll" + File "${VCLIBS_ROOT}\bin\libpng13.dll" + File "${VCLIBS_ROOT}\bin\libsigc-2.0-0.dll" + File "${VCLIBS_ROOT}\bin\libtiff.dll" + File "${VCLIBS_ROOT}\bin\libvte-9.dll" + File "${VCLIBS_ROOT}\bin\libxml2-2.dll" + File "${VCLIBS_ROOT}\bin\zlib1.dll" + +; Shortcuts + !insertmacro MUI_STARTMENU_WRITE_BEGIN Application + CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Octave UI.lnk" "$INSTDIR\bin\octaveui.exe" \ + "" "$INSTDIR\bin\octave.ico" + !insertmacro MUI_STARTMENU_WRITE_END +SectionEnd +!endif + SectionGroupEnd Section -AdditionalIcons @@ -507,7 +560,12 @@ !insertmacro MUI_DESCRIPTION_TEXT ${SEC_TOOLS} "Additional GNU tools required (less, makeinfo, sed...). If not selected, those tools must be available in your PATH." !insertmacro MUI_DESCRIPTION_TEXT ${SEC_VC} "Microsoft C/C++ runtime libraries required by Octave. It is STRONGLY recommended to use the default setting." !insertmacro MUI_DESCRIPTION_TEXT ${SEC_SCITE} "Powerful code editor with syntax highlighting, directly accessible from the octave prompt (http://www.scintilla.org)" +!ifdef USE_CONSOLE !insertmacro MUI_DESCRIPTION_TEXT ${SEC_CONSOLE} "Advanced console for Windows, with multi-tab and editing capabilities (http://sourceforge.net/projects/console)" +!endif +!ifdef USE_OCTAVEDE + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_OCTAVEDE} "Octave GTK-based graphical user-interface. WARNING: this software is in alpha stage and only provided as a technology preview" +!endif !insertmacro MUI_DESCRIPTION_TEXT ${GRP_CORE} "" !insertmacro MUI_DESCRIPTION_TEXT ${GRP_GRAPHICS} "" Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-04-21 20:27:59 UTC (rev 4968) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-04-22 13:59:53 UTC (rev 4969) @@ -33,6 +33,7 @@ NSI_DIR=/d/Software/NSIS fi DOWNLOAD_DIR=downloaded_packages +OCTAVEDE_DIR=../../../../octavede-svn DOATLAS=false verbose=false @@ -42,12 +43,13 @@ netcdf sed makeinfo units less CLN GiNaC wxWidgets gnuplot FLTK octave JOGL forge qhull VC octplot ncurses pkg-config fc-msvc libcurl libxml2 fontconfig GraphicsMagick bzip2 ImageMagick libtiff libwmf jasper GTK ATK Glibmm Cairomm Gtkmm libsigc++ libglade -gtksourceview gdl VTE GtkGlArea PortAudio playrec" +gtksourceview gdl VTE GtkGlArea PortAudio playrec OctaveDE" octave_version= of_version= do_nsi=false do_nsiclean=true do_octplot=false +do_gui=false do_debug=false download_root="http://downloads.sourceforge.net/octave/@@?download" #download_root="http://www.dbateman.org/octave/hidden/@@" @@ -143,6 +145,9 @@ ;; --release=*) octave_version=`echo $1 | sed -e 's/--release=//'` + if test "$octave_version" = devel; then + octave_version="vc8-debug" + fi ;; --forge=*) of_version=`echo $1 | sed -e 's/--forge=//'` @@ -162,7 +167,10 @@ --octplot) do_octplot=true ;; - --prefix=*) + --gui) + do_gui=true + ;; + --prefix=*) INSTALL_DIR=`echo $1 | sed -e 's/--prefix=//'` ;; -*) @@ -2577,6 +2585,25 @@ fi fi +# Add octave to the PATH (if needed) and make sure octave_prefix is defined + +if test -n "$octave_version"; then + if test -z "$octave_prefix"; then + octave_prefix="$INSTALL_DIR/local/octave-$octave_version" + fi + if test -n "`which octave.exe`"; then + echo "WARNING: octave is already in your PATH." + echo "WARNING: overridding with $octave_prefix." + fi + export PATH="$octave_prefix/bin:$PATH" +elif test -n "`which octave-config.exe`"; then + octave_prefix="`octave-config -p PREFIX | sed -e 's,\\,/,g'`" + octave_prefix="`cd $octave_prefix && pwd`" +else + echo "WARNING: octave is not in your PATH." + echo "WARNING: some packages might not compile properly." +fi + ######## # JOGL # ######## @@ -3000,13 +3027,19 @@ fi if test ! -f "octave_main.nsi"; then octplot_prefix="#" + gui_prefix="#" if $do_octplot; then octplot_prefix= fi + if $do_gui; then + gui_prefix= + fi echo -n "creating octave_main.nsi... " sed -e "s/@OCTAVE_VERSION@/$octave_version/" -e "s/@VCLIBS_ROOT@/$tdir_w32/" \ -e "s/@MSYS_ROOT@/$msys_root/" -e "s/@JHANDLES_VERSION@/$jhandles_version/" \ - -e "s/@SOFTWARE_ROOT@/$software_root/" -e "s/@HAVE_OCTPLOT@/$octplot_prefix/" octave.nsi.in > octave_main.nsi + -e "s/@SOFTWARE_ROOT@/$software_root/" -e "s/@HAVE_OCTPLOT@/$octplot_prefix/" \ + -e "s/@HAVE_GUI@/$gui_prefix/" \ + octave.nsi.in > octave_main.nsi echo "done" fi if test ! -f "octave_forge.nsi"; then @@ -3593,3 +3626,31 @@ echo "octave must be in your PATH in order to compile playrec" fi fi + +############ +# OctaveDE # +############ + +if check_package OctaveDE; then + if test -n "`which mkoctfile.exe`"; then + (cd "$OCTAVEDE_DIR" || exit -1 + if test -f "ui/octaveui.exe"; then + echo -n "clearing octavede..." + make clean >&5 2>&1 + echo "done" + fi + echo -n "compiling octavede..." + (configure_package --prefix="$octave_prefix" && + make && + make install) >&5 2>&1 + if test ! -f "$octave_prefix/bin/octaveui.exe"; then + echo "failed" + exit -1 + else + echo "done" + fi + ) + else + echo "octave must be in your PATH in order to compile octavede" + fi +fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2008-04-24 09:18:10
|
Revision: 4984 http://octave.svn.sourceforge.net/octave/?rev=4984&view=rev Author: goffioul Date: 2008-04-24 02:18:14 -0700 (Thu, 24 Apr 2008) Log Message: ----------- Add a utility script to generate post-release octave-forge package installers. Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/octave_package.nsi.in Added Paths: ----------- trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh Added: trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh (rev 0) +++ trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh 2008-04-24 09:18:14 UTC (rev 4984) @@ -0,0 +1,138 @@ +octave_prefix= +packages= +do_nsiclean=true +NSI_DIR= +VCLIBS_ROOT= + +while test $# -gt 0; do + case "$1" in + --prefix=*) + octave_prefix=`echo $1 | sed -e 's/--prefix=//'` + ;; + --keep) + do_nsiclean=false + ;; + *) + if test -z "$packages"; then + packages="$1" + else + packages="$packages $1" + fi + ;; + esac + shift +done + +if test -z "$octave_prefix" -o ! -d "$octave_prefix"; then + echo "$0: octave prefix must be given and point to a valid directory" + exit -1 +fi + +export PATH="$octave_prefix/bin:$PATH" + +octave_version=`octave-config -p VERSION` +octave_prefix_w32=`cd $octave_prefix && pwd -W` +octave_prefix_w32=`echo $octave_prefix_w32 | sed -e 's,/,\\\\\\\\,g'` + +if test -d "/c/Software/NSIS"; then + NSI_DIR=/c/Software/NSIS +elif test -d "/d/Software/NSIS"; then + NSI_DIR=/d/Software/NSIS +else + echo "$0: NSIS directory not found" + exit -1 +fi + +############################################################################## + +function get_nsi_additional_files() +{ + return 0 +} + +function get_nsi_dependencies() +{ + packname=$1 + descfile="$2" + sed -n -e 's/ *$//' \ + -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/' \ + -e 's/^depends: *//p' "$descfile" | \ + awk -F ', ' '{c=split($0, s); for(n=1; n<=c; ++n) printf("%s\n", s[n]) }' | \ + sed -n -e 's/^octave.*$//' \ + -e 's/\([a-zA-Z0-9_]\+\) *\(( *\([<>]=\?\) *\([0-9]\+\.[0-9]\+\.[0-9]\+\) *) *\)\?/ !insertmacro CheckDependency "\1" "\4" "\3"/p' +} + +function create_nsi_package_file() +{ + packname=$1 + found=`find "$octave_prefix/share/octave/packages" -type d -a -name "$packname-*" -maxdepth 1` + if test ! -z "$found"; then + packdesc=`grep -e '^Name:' "$found/packinfo/DESCRIPTION" | sed -e 's/^Name *: *//'` + packdesc_low=`echo $packdesc | sed -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` + packver=`grep -e '^Version:' "$found/packinfo/DESCRIPTION" | sed -e 's/^Version *: *//'` + if test -f "release-$octave_version/octave-$octave_version-$packname-$packver-setup.exe"; then + return 0 + fi + echo -n "creating installer for $packname... " + mkdir -p "release-$octave_version" + packinstdir=$packdesc_low-$packver + packinfo=`sed -e '/^ /{H;$!d;}' -e 'x;/^Description: /!d;' "$found/packinfo/DESCRIPTION" | sed -e ':a;N;$!ba;s/\n */\ /g' | sed -e 's/^Description: //'` + packfiles=`get_nsi_additional_files $packname` + if test ! -z "$packfiles"; then + echo "$packfiles" > octave_pkg_${packname}_files.nsi + packfiles="!include \\\"octave_pkg_${packname}_files.nsi\\\"" + fi + packdeps=`get_nsi_dependencies $packname "$found/packinfo/DESCRIPTION"` + if test ! -z "$packdeps"; then + echo "$packdeps" > octave_pkg_${packname}_deps.nsi + packdeps="!include \\\"octave_pkg_${packname}_deps.nsi\\\"" + fi + if test -f "$found/packinfo/.autoload"; then + packautoload=1 + else + packautoload=0 + fi + have_arch_files="#" + if test -d "$octave_prefix/libexec/octave/packages/$packinstdir"; then + have_arch_files= + fi + sed -e "s/@PACKAGE_NAME@/$packname/" \ + -e "s/@PACKAGE_LONG_NAME@/$packdesc/" \ + -e "s/@PACKAGE_VERSION@/$packver/" \ + -e "s/@PACKAGE_INFO@/$packinfo/" \ + -e "s/@OCTAVE_VERSION@/$octave_version/" \ + -e "s/@VCLIBS_ROOT@/$octave_prefix_w32/" \ + -e 's/!define OCTAVE_ROOT .*/!define OCTAVE_ROOT "${VCLIBS_ROOT}"/' \ + -e "s/@PACKAGE_FILES@/$packfiles/" \ + -e "s/@PACKAGE_DEPENDENCY@/$packdeps/" \ + -e "s/@PACKAGE_AUTOLOAD@/$packautoload/" \ + -e "s/@HAVE_ARCH_FILES@/$have_arch_files/" \ + -e "s/@SOFTWARE_ROOT@/$software_root/" octave_package.nsi.in > octave_pkg_$packname.nsi + $NSI_DIR/makensis.exe octave_pkg_$packname.nsi | tee nsi.tmp + packsize=`sed -n -e 's,^Install data: *[0-9]\+ / \([0-9]\+\) bytes$,\1,p' nsi.tmp` + let "packsize = packsize / 1024" + rm -f nsi.tmp + if $do_nsiclean; then + rm -f octave_pkg_$packname*.nsi + fi + if test ! -f "octave-$octave_version-$packname-$packver-setup.exe"; then + echo "failed" + return -1 + else + mv -f "octave-$octave_version-$packname-$packver-setup.exe" "release-$octave_version" + if test -z "$isolated_sizes"; then + isolated_sizes="\$$packname:$packsize\$" + else + isolated_sizes="$isolated_sizes$packname:$packsize\$" + fi + echo "done" + return 0 + fi + fi +} + +############################################################################## + +for pack in $packages; do + create_nsi_package_file $pack +done Property changes on: trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh ___________________________________________________________________ Name: svn:executable + * Modified: trunk/octave-forge/admin/Windows/msvc/octave_package.nsi.in =================================================================== --- trunk/octave-forge/admin/Windows/msvc/octave_package.nsi.in 2008-04-23 20:14:05 UTC (rev 4983) +++ trunk/octave-forge/admin/Windows/msvc/octave_package.nsi.in 2008-04-24 09:18:14 UTC (rev 4984) @@ -79,7 +79,8 @@ FileWrite $0 " " FileClose $0 rebuild: - IfSilent +2 + IfSilent +3 + SetOutPath "$INSTDIR" ExecWait '"$OCTAVE_EXEC" -qf --eval "pkg rebuild ${PACKAGE_NAME}"' SectionEnd This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2008-05-07 11:35:22
|
Revision: 5029 http://octave.svn.sourceforge.net/octave/?rev=5029&view=rev Author: goffioul Date: 2008-05-07 04:35:28 -0700 (Wed, 07 May 2008) Log Message: ----------- Include FTPlib in ftp package Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Modified: trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh 2008-05-07 11:03:56 UTC (rev 5028) +++ trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh 2008-05-07 11:35:28 UTC (rev 5029) @@ -1,4 +1,5 @@ octave_prefix= +exec_prefix= packages= do_nsiclean=true NSI_DIR= @@ -9,6 +10,9 @@ --prefix=*) octave_prefix=`echo $1 | sed -e 's/--prefix=//'` ;; + --exec-prefix=*) + exec_prefix=`echo $1 | sed -e 's/--exec-prefix=//'` + ;; --keep) do_nsiclean=false ;; @@ -34,6 +38,11 @@ octave_prefix_w32=`cd $octave_prefix && pwd -W` octave_prefix_w32=`echo $octave_prefix_w32 | sed -e 's,/,\\\\\\\\,g'` +if test -n "$exec_prefix"; then + exec_prefix_w32=`cd $exec_prefix && pwd -W` + exec_prefix_w32=`echo $exec_prefix_w32 | sed -e 's,/,\\\\\\\\,g'` +fi + if test -d "/c/Software/NSIS"; then NSI_DIR=/c/Software/NSIS elif test -d "/d/Software/NSIS"; then @@ -45,8 +54,25 @@ ############################################################################## +function check_exec_prefix() +{ + if test -z "$exec_prefix"; then + echo "WARNING: no --exec-prefix argument given" + echo "WARNING: package creation might fail" + fi +} + function get_nsi_additional_files() { + packname=$1 + packinstdir=$2 + case "$packname" in + ftp) + check_exec_prefix + echo " SetOutPath \"\$INSTDIR\\bin\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libftp-3.dll\"" + ;; + esac return 0 } @@ -102,7 +128,7 @@ -e "s/@PACKAGE_VERSION@/$packver/" \ -e "s/@PACKAGE_INFO@/$packinfo/" \ -e "s/@OCTAVE_VERSION@/$octave_version/" \ - -e "s/@VCLIBS_ROOT@/$octave_prefix_w32/" \ + -e "s/@VCLIBS_ROOT@/$exec_prefix_w32/" \ -e 's/!define OCTAVE_ROOT .*/!define OCTAVE_ROOT "${VCLIBS_ROOT}"/' \ -e "s/@PACKAGE_FILES@/$packfiles/" \ -e "s/@PACKAGE_DEPENDENCY@/$packdeps/" \ Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-07 11:03:56 UTC (rev 5028) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-07 11:35:28 UTC (rev 5029) @@ -3439,6 +3439,10 @@ echo " SetOutPath \"\$INSTDIR\\tools\\gmsh\"" echo " File /r /x gmsh.exe \"\${SOFTWARE_ROOT}\\Gmsh\\*.*\"" ;; + ftp) + echo " SetOutPath \"\$INSTDIR\\bin\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libftp-3.dll\"" + ;; esac } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2008-05-07 13:34:22
|
Revision: 5031 http://octave.svn.sourceforge.net/octave/?rev=5031&view=rev Author: goffioul Date: 2008-05-07 06:34:28 -0700 (Wed, 07 May 2008) Log Message: ----------- Include SQLite3 into database package Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Modified: trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh 2008-05-07 13:32:17 UTC (rev 5030) +++ trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh 2008-05-07 13:34:28 UTC (rev 5031) @@ -72,6 +72,11 @@ echo " SetOutPath \"\$INSTDIR\\bin\"" echo " File \"\${VCLIBS_ROOT}\\bin\\libftp-3.dll\"" ;; + database) + check_exec_prefix + echo " SetOutPath \"\$INSTDIR\\bin\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libsqlite3-0.dll\"" + ;; esac return 0 } Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-07 13:32:17 UTC (rev 5030) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-07 13:34:28 UTC (rev 5031) @@ -3479,6 +3479,10 @@ echo " SetOutPath \"\$INSTDIR\\bin\"" echo " File \"\${VCLIBS_ROOT}\\bin\\libftp-3.dll\"" ;; + database) + echo " SetOutPath \"\$INSTDIR\\bin\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libsqlite3-0.dll\"" + ;; esac } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2008-05-12 19:41:30
|
Revision: 5041 http://octave.svn.sourceforge.net/octave/?rev=5041&view=rev Author: goffioul Date: 2008-05-12 12:40:51 -0700 (Mon, 12 May 2008) Log Message: ----------- Add FFMpeg compilation + support for video package Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Added Paths: ----------- trunk/octave-forge/admin/Windows/msvc/libs/ffmpeg.diff Added: trunk/octave-forge/admin/Windows/msvc/libs/ffmpeg.diff =================================================================== --- trunk/octave-forge/admin/Windows/msvc/libs/ffmpeg.diff (rev 0) +++ trunk/octave-forge/admin/Windows/msvc/libs/ffmpeg.diff 2008-05-12 19:40:51 UTC (rev 5041) @@ -0,0 +1,455 @@ +diff -ur ffmpeg-export-2008-05-01-old/configure ffmpeg-export-2008-05-01/configure +--- ffmpeg-export-2008-05-01-old/configure 2008-04-27 18:12:24.000000000 +0200 ++++ ffmpeg-export-2008-05-01/configure 2008-05-12 15:56:42.875000000 +0200 +@@ -1122,15 +1122,15 @@ + VHOOKLIBS="$VHOOKLIBS -lswscale\$(BUILDSUF)" + fi + disable ffserver +- SLIBPREF="" ++ SLIBPREF="lib" + SLIBSUF=".dll" + EXESUF=".exe" +- SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' ++ SLIBNAME_WITH_VERSION='$(SLIBNAME_WITH_MAJOR)' + SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)' + SLIB_EXTRA_CMD='-lib /machine:i386 /def:$$(@:$(SLIBSUF)=.def)' +- SLIB_INSTALL_EXTRA_CMD='-install -m 644 $(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"' +- SLIB_UNINSTALL_EXTRA_CMD='rm -f "$(SHLIBDIR)/$(SLIBNAME:$(SLIBSUF)=.lib)"' +- SHFLAGS='-shared -Wl,--output-def,$$(@:$(SLIBSUF)=.def) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base' ++ SLIB_INSTALL_EXTRA_CMD='-install -m 644 $(SUBDIR)$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.lib) "$(LIBDIR)/$(NAME).lib"' ++ SLIB_UNINSTALL_EXTRA_CMD='rm -f "$(LIBDIR)/$(NAME).lib"' ++ SHFLAGS='-shared -Wl,--output-def,$$(@:$(SLIBSUF)=.def) -Wl,--enable-runtime-pseudo-reloc -Wl,--enable-auto-image-base -Wl,--export-all-symbols' + ;; + cygwin*) + target_os=cygwin +@@ -2113,13 +2113,13 @@ + name=$1 + comment=$2 + version=$3 +-libs=$4 ++libs=`echo $4 | sed -e "s/-lm//" -e "s/-ldl//"` + requires=$5 + cat <<EOF >$name.pc + prefix=$prefix + exec_prefix=\${prefix} +-libdir=$libdir +-includedir=$incdir ++libdir=\${prefix}/lib ++includedir=\${prefix}/include + + Name: $name + Description: $comment +diff -ur ffmpeg-export-2008-05-01-old/libavcodec/Makefile ffmpeg-export-2008-05-01/libavcodec/Makefile +--- ffmpeg-export-2008-05-01-old/libavcodec/Makefile 2008-04-26 18:02:22.000000000 +0200 ++++ ffmpeg-export-2008-05-01/libavcodec/Makefile 2008-05-12 15:38:14.968750000 +0200 +@@ -476,3 +476,5 @@ + include $(SUBDIR)../subdir.mak + + $(SUBDIR)dct-test$(EXESUF): $(SUBDIR)fdctref.o ++ ++CFLAGS-yes += -DBUILD_AVCODEC +diff -ur ffmpeg-export-2008-05-01-old/libavcodec/avcodec.h ffmpeg-export-2008-05-01/libavcodec/avcodec.h +--- ffmpeg-export-2008-05-01-old/libavcodec/avcodec.h 2008-04-29 16:08:01.000000000 +0200 ++++ ffmpeg-export-2008-05-01/libavcodec/avcodec.h 2008-05-12 15:38:15.031250000 +0200 +@@ -2499,7 +2499,7 @@ + /* external high level API */ + + #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) +-extern AVCodec *first_avcodec; ++extern AVCODEC_API AVCodec *first_avcodec; + #endif + AVCodec *av_codec_next(AVCodec *c); + +diff -ur ffmpeg-export-2008-05-01-old/libavcodec/dsputil.h ffmpeg-export-2008-05-01/libavcodec/dsputil.h +--- ffmpeg-export-2008-05-01-old/libavcodec/dsputil.h 2008-04-16 03:34:55.000000000 +0200 ++++ ffmpeg-export-2008-05-01/libavcodec/dsputil.h 2008-05-12 15:38:15.046875000 +0200 +@@ -66,17 +66,17 @@ + void ff_float_to_int16_c(int16_t *dst, const float *src, int len); + + /* encoding scans */ +-extern const uint8_t ff_alternate_horizontal_scan[64]; +-extern const uint8_t ff_alternate_vertical_scan[64]; +-extern const uint8_t ff_zigzag_direct[64]; +-extern const uint8_t ff_zigzag248_direct[64]; ++extern AVCODEC_API const uint8_t ff_alternate_horizontal_scan[64]; ++extern AVCODEC_API const uint8_t ff_alternate_vertical_scan[64]; ++extern AVCODEC_API const uint8_t ff_zigzag_direct[64]; ++extern AVCODEC_API const uint8_t ff_zigzag248_direct[64]; + + /* pixel operations */ + #define MAX_NEG_CROP 1024 + + /* temporary */ +-extern uint32_t ff_squareTbl[512]; +-extern uint8_t ff_cropTbl[256 + 2 * MAX_NEG_CROP]; ++extern AVCODEC_API uint32_t ff_squareTbl[512]; ++extern AVCODEC_API uint8_t ff_cropTbl[256 + 2 * MAX_NEG_CROP]; + + /* VP3 DSP functions */ + void ff_vp3_idct_c(DCTELEM *block/* align 16*/); +diff -ur ffmpeg-export-2008-05-01-old/libavcodec/imgconvert.c ffmpeg-export-2008-05-01/libavcodec/imgconvert.c +--- ffmpeg-export-2008-05-01-old/libavcodec/imgconvert.c 2008-03-16 18:34:31.000000000 +0100 ++++ ffmpeg-export-2008-05-01/libavcodec/imgconvert.c 2008-05-12 15:38:15.093750000 +0200 +@@ -2107,7 +2107,6 @@ + } + #endif + +-#ifndef CONFIG_SWSCALE + static uint8_t y_ccir_to_jpeg[256]; + static uint8_t y_jpeg_to_ccir[256]; + static uint8_t c_ccir_to_jpeg[256]; +@@ -2627,7 +2626,6 @@ + avpicture_free(tmp); + return ret; + } +-#endif + + /* NOTE: we scan all the pixels to have an exact information */ + static int get_alpha_info_pal8(const AVPicture *src, int width, int height) +diff -ur ffmpeg-export-2008-05-01-old/libavcodec/mpeg12data.h ffmpeg-export-2008-05-01/libavcodec/mpeg12data.h +--- ffmpeg-export-2008-05-01-old/libavcodec/mpeg12data.h 2008-03-05 01:06:09.000000000 +0100 ++++ ffmpeg-export-2008-05-01/libavcodec/mpeg12data.h 2008-05-12 15:38:15.125000000 +0200 +@@ -48,7 +48,7 @@ + + extern const uint8_t ff_mpeg12_mbMotionVectorTable[17][2]; + +-extern const AVRational ff_frame_rate_tab[]; ++extern AVCODEC_API const AVRational ff_frame_rate_tab[]; + + extern const float ff_mpeg1_aspect[16]; + extern const AVRational ff_mpeg2_aspect[16]; +diff -ur ffmpeg-export-2008-05-01-old/libavcodec/mpeg4audio.h ffmpeg-export-2008-05-01/libavcodec/mpeg4audio.h +--- ffmpeg-export-2008-05-01-old/libavcodec/mpeg4audio.h 2008-04-01 14:01:40.000000000 +0200 ++++ ffmpeg-export-2008-05-01/libavcodec/mpeg4audio.h 2008-05-12 15:38:15.140625000 +0200 +@@ -35,8 +35,8 @@ + int ext_sample_rate; + } MPEG4AudioConfig; + +-extern const int ff_mpeg4audio_sample_rates[16]; +-extern const uint8_t ff_mpeg4audio_channels[8]; ++extern AVCODEC_API const int ff_mpeg4audio_sample_rates[16]; ++extern AVCODEC_API const uint8_t ff_mpeg4audio_channels[8]; + /** + * Parse MPEG-4 systems extradata to retrieve audio configuration. + * @param[in] c MPEG4AudioConfig structure to fill. +diff -ur ffmpeg-export-2008-05-01-old/libavcodec/mpegaudiodata.h ffmpeg-export-2008-05-01/libavcodec/mpegaudiodata.h +--- ffmpeg-export-2008-05-01-old/libavcodec/mpegaudiodata.h 2007-11-08 11:53:32.000000000 +0100 ++++ ffmpeg-export-2008-05-01/libavcodec/mpegaudiodata.h 2008-05-12 15:38:15.156250000 +0200 +@@ -32,12 +32,12 @@ + #define MODE_EXT_MS_STEREO 2 + #define MODE_EXT_I_STEREO 1 + +-extern const uint16_t ff_mpa_bitrate_tab[2][3][15]; +-extern const uint16_t ff_mpa_freq_tab[3]; +-extern const int32_t ff_mpa_enwindow[257]; +-extern const int ff_mpa_sblimit_table[5]; +-extern const int ff_mpa_quant_steps[17]; +-extern const int ff_mpa_quant_bits[17]; +-extern const unsigned char *ff_mpa_alloc_tables[5]; ++extern AVCODEC_API const uint16_t ff_mpa_bitrate_tab[2][3][15]; ++extern AVCODEC_API const uint16_t ff_mpa_freq_tab[3]; ++extern AVCODEC_API const int32_t ff_mpa_enwindow[257]; ++extern AVCODEC_API const int ff_mpa_sblimit_table[5]; ++extern AVCODEC_API const int ff_mpa_quant_steps[17]; ++extern AVCODEC_API const int ff_mpa_quant_bits[17]; ++extern AVCODEC_API const unsigned char *ff_mpa_alloc_tables[5]; + + #endif /* FFMPEG_MPEGAUDIODATA_H */ +diff -ur ffmpeg-export-2008-05-01-old/libavcodec/utils.c ffmpeg-export-2008-05-01/libavcodec/utils.c +--- ffmpeg-export-2008-05-01-old/libavcodec/utils.c 2008-03-29 23:27:25.000000000 +0100 ++++ ffmpeg-export-2008-05-01/libavcodec/utils.c 2008-05-12 15:38:15.171875000 +0200 +@@ -38,6 +38,11 @@ + #include <fcntl.h> + #endif + ++#ifdef __MINGW32__ ++# define open _open ++# define tempnam _tempnam ++#endif ++ + const uint8_t ff_reverse[256]={ + 0x00,0x80,0x40,0xC0,0x20,0xA0,0x60,0xE0,0x10,0x90,0x50,0xD0,0x30,0xB0,0x70,0xF0, + 0x08,0x88,0x48,0xC8,0x28,0xA8,0x68,0xE8,0x18,0x98,0x58,0xD8,0x38,0xB8,0x78,0xF8, +diff -ur ffmpeg-export-2008-05-01-old/libavformat/avformat.h ffmpeg-export-2008-05-01/libavformat/avformat.h +--- ffmpeg-export-2008-05-01-old/libavformat/avformat.h 2008-04-25 01:21:58.000000000 +0200 ++++ ffmpeg-export-2008-05-01/libavformat/avformat.h 2008-05-12 15:38:15.203125000 +0200 +@@ -522,8 +522,8 @@ + } AVPacketList; + + #if LIBAVFORMAT_VERSION_INT < (53<<16) +-extern AVInputFormat *first_iformat; +-extern AVOutputFormat *first_oformat; ++extern AVFORMAT_API AVInputFormat *first_iformat; ++extern AVFORMAT_API AVOutputFormat *first_oformat; + #endif + + AVInputFormat *av_iformat_next(AVInputFormat *f); +diff -ur ffmpeg-export-2008-05-01-old/libavformat/file.c ffmpeg-export-2008-05-01/libavformat/file.c +--- ffmpeg-export-2008-05-01-old/libavformat/file.c 2007-11-22 03:27:39.000000000 +0100 ++++ ffmpeg-export-2008-05-01/libavformat/file.c 2008-05-12 15:38:15.203125000 +0200 +@@ -26,6 +26,14 @@ + #include <stdlib.h> + #include "os_support.h" + ++#ifdef __MINGW32__ ++# define open _open ++# define read _read ++# define write _write ++# define close _close ++# define setmode _setmode ++#endif ++ + + /* standard file protocol */ + +diff -ur ffmpeg-export-2008-05-01-old/libavformat/framehook.c ffmpeg-export-2008-05-01/libavformat/framehook.c +--- ffmpeg-export-2008-05-01-old/libavformat/framehook.c 2008-01-06 17:02:55.000000000 +0100 ++++ ffmpeg-export-2008-05-01/libavformat/framehook.c 2008-05-12 15:38:15.234375000 +0200 +@@ -25,6 +25,8 @@ + + #ifdef HAVE_DLFCN_H + #include <dlfcn.h> ++#elif defined(WIN32) ++#include <windows.h> + #endif + + +@@ -49,20 +51,34 @@ + return ENOENT; + } + ++#ifdef HAVE_DLFCN_H + loaded = dlopen(argv[0], RTLD_NOW); + if (!loaded) { + av_log(NULL, AV_LOG_ERROR, "%s\n", dlerror()); + return -1; + } ++#elif defined(WIN32) ++ loaded = LoadLibrary(argv[0]); ++ if (!loaded) { ++ av_log(NULL, AV_LOG_ERROR, "Win32 error: %d\n", GetLastError()); ++ return -1; ++ } ++#endif + + fhe = av_mallocz(sizeof(*fhe)); + if (!fhe) { + return AVERROR(ENOMEM); + } + ++#ifdef HAVE_DLFCN_H + fhe->Configure = dlsym(loaded, "Configure"); + fhe->Process = dlsym(loaded, "Process"); + fhe->Release = dlsym(loaded, "Release"); /* Optional */ ++#elif defined(WIN32) ++ fhe->Configure = GetProcAddress(loaded, "Configure"); ++ fhe->Process = GetProcAddress(loaded, "Process"); ++ fhe->Release = GetProcAddress(loaded, "Release"); /* Optional */ ++#endif + + if (!fhe->Process) { + av_log(NULL, AV_LOG_ERROR, "Failed to find Process entrypoint in %s\n", argv[0]); +diff -ur ffmpeg-export-2008-05-01-old/libavformat/gxf.c ffmpeg-export-2008-05-01/libavformat/gxf.c +--- ffmpeg-export-2008-05-01-old/libavformat/gxf.c 2007-11-21 08:41:00.000000000 +0100 ++++ ffmpeg-export-2008-05-01/libavformat/gxf.c 2008-05-12 15:38:15.250000000 +0200 +@@ -181,7 +181,7 @@ + * \return fps as AVRational, or 0 / 0 if unknown + */ + static AVRational fps_tag2avr(int32_t fps) { +- extern const AVRational ff_frame_rate_tab[]; ++ extern AVCODEC_API const AVRational ff_frame_rate_tab[]; + if (fps < 1 || fps > 9) fps = 9; + return ff_frame_rate_tab[9 - fps]; // values have opposite order + } +diff -ur ffmpeg-export-2008-05-01-old/libavformat/nutdec.c ffmpeg-export-2008-05-01/libavformat/nutdec.c +--- ffmpeg-export-2008-05-01-old/libavformat/nutdec.c 2008-03-15 17:15:47.000000000 +0100 ++++ ffmpeg-export-2008-05-01/libavformat/nutdec.c 2008-05-12 15:38:15.265625000 +0200 +@@ -20,6 +20,7 @@ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++#include "common.h" + #include "tree.h" + #include "nut.h" + #include "avstring.h" +diff -ur ffmpeg-export-2008-05-01-old/libavformat/utils.c ffmpeg-export-2008-05-01/libavformat/utils.c +--- ffmpeg-export-2008-05-01-old/libavformat/utils.c 2008-04-25 01:09:28.000000000 +0200 ++++ ffmpeg-export-2008-05-01/libavformat/utils.c 2008-05-12 15:38:15.281250000 +0200 +@@ -25,6 +25,32 @@ + #include <sys/time.h> + #include <time.h> + ++static struct tm* dolocaltime (const time_t* t) ++{ ++ int64_t t64 = *t; ++ return _localtime64 (&t64); ++} ++ ++static struct tm* dogmtime (const time_t* t) ++{ ++ int64_t t64 = *t; ++ return _gmtime64 (&t64); ++} ++ ++static time_t domktime (struct tm* t) ++{ ++ int64_t t64 = _mktime64 (t); ++ return (time_t)(t64 & 0x00000000FFFFFFFFLL); ++} ++ ++static time_t dotime (time_t* t) ++{ ++ int64_t t64 = _time64 (NULL); ++ if (t != NULL) ++ *t = (time_t)(t64 & 0x00000000FFFFFFFFLL); ++ return (time_t)(t64 & 0x00000000FFFFFFFFLL); ++} ++ + #undef NDEBUG + #include <assert.h> + +@@ -2713,7 +2739,7 @@ + int negative = 0; + + #undef time +- time_t now = time(0); ++ time_t now = dotime(0); + + len = strlen(datestr); + if (len > 0) +@@ -2739,9 +2765,9 @@ + * current year-month-day time */ + if (!q) { + if (is_utc) { +- dt = *gmtime(&now); ++ dt = *dogmtime(&now); + } else { +- dt = *localtime(&now); ++ dt = *dolocaltime(&now); + } + dt.tm_hour = dt.tm_min = dt.tm_sec = 0; + } else { +@@ -2789,7 +2815,7 @@ + if (is_utc) { + t = mktimegm(&dt); + } else { +- t = mktime(&dt); ++ t = domktime(&dt); + } + } + +diff -ur ffmpeg-export-2008-05-01-old/libavutil/Makefile ffmpeg-export-2008-05-01/libavutil/Makefile +--- ffmpeg-export-2008-05-01-old/libavutil/Makefile 2008-04-07 23:16:31.000000000 +0200 ++++ ffmpeg-export-2008-05-01/libavutil/Makefile 2008-05-12 15:38:15.312500000 +0200 +@@ -46,3 +46,5 @@ + $(SUBDIR)lzo-test$(EXESUF): EXTRALIBS += -llzo2 + + CLEANFILES = lzo-test$(EXESUF) ++ ++CFLAGS-yes += -DBUILD_AVUTIL +diff -ur ffmpeg-export-2008-05-01-old/libavutil/aes.h ffmpeg-export-2008-05-01/libavutil/aes.h +--- ffmpeg-export-2008-05-01-old/libavutil/aes.h 2008-03-10 19:42:09.000000000 +0100 ++++ ffmpeg-export-2008-05-01/libavutil/aes.h 2008-05-12 15:38:15.328125000 +0200 +@@ -23,7 +23,7 @@ + + #include <stdint.h> + +-extern const int av_aes_size; ++extern AVUTIL_API const int av_aes_size; + + struct AVAES; + +diff -ur ffmpeg-export-2008-05-01-old/libavutil/common.h ffmpeg-export-2008-05-01/libavutil/common.h +--- ffmpeg-export-2008-05-01-old/libavutil/common.h 2008-04-26 14:47:02.000000000 +0200 ++++ ffmpeg-export-2008-05-01/libavutil/common.h 2008-05-12 15:38:15.328125000 +0200 +@@ -28,6 +28,31 @@ + + #include <inttypes.h> + ++#if defined (WIN32) || defined (_MSC_VER) ++# ifdef BUILD_AVUTIL ++# define AVUTIL_API __declspec(dllexport) ++# else ++# define AVUTIL_API __declspec(dllimport) ++# endif ++# ifdef BUILD_AVCODEC ++# define AVCODEC_API __declspec(dllexport) ++# else ++# define AVCODEC_API __declspec(dllimport) ++# endif ++# ifdef BUILD_AVFORMAT ++# define AVFORMAT_API __declspec(dllexport) ++# else ++# define AVFORMAT_API __declspec(dllimport) ++# endif ++# ifdef _MSC_VER ++# define inline __inline ++# endif ++#else ++# define AVUTIL_API ++# define AVCODEC_API ++# define AVFORMAT_API ++#endif ++ + #ifdef HAVE_AV_CONFIG_H + /* only include the following when compiling package */ + # include "config.h" +@@ -118,7 +143,7 @@ + #define FFSWAP(type,a,b) do{type SWAP_tmp= b; b= a; a= SWAP_tmp;}while(0) + + /* misc math functions */ +-extern const uint8_t ff_log2_tab[256]; ++extern AVUTIL_API const uint8_t ff_log2_tab[256]; + + static inline av_const int av_log2(unsigned int v) + { +diff -ur ffmpeg-export-2008-05-01-old/libavutil/internal.h ffmpeg-export-2008-05-01/libavutil/internal.h +--- ffmpeg-export-2008-05-01-old/libavutil/internal.h 2008-03-22 19:15:12.000000000 +0100 ++++ ffmpeg-export-2008-05-01/libavutil/internal.h 2008-05-12 15:38:15.359375000 +0200 +@@ -170,7 +170,7 @@ + # define FASTDIV(a,b) ((a)/(b)) + #endif + +-extern const uint8_t ff_sqrt_tab[256]; ++extern AVUTIL_API const uint8_t ff_sqrt_tab[256]; + + static inline int av_log2_16bit(unsigned int v); + +diff -ur ffmpeg-export-2008-05-01-old/libavutil/md5.h ffmpeg-export-2008-05-01/libavutil/md5.h +--- ffmpeg-export-2008-05-01-old/libavutil/md5.h 2007-10-17 11:37:46.000000000 +0200 ++++ ffmpeg-export-2008-05-01/libavutil/md5.h 2008-05-12 15:38:15.375000000 +0200 +@@ -23,7 +23,7 @@ + + #include <stdint.h> + +-extern const int av_md5_size; ++extern AVUTIL_API const int av_md5_size; + + struct AVMD5; + +diff -ur ffmpeg-export-2008-05-01-old/libavutil/tree.h ffmpeg-export-2008-05-01/libavutil/tree.h +--- ffmpeg-export-2008-05-01-old/libavutil/tree.h 2008-01-04 19:55:14.000000000 +0100 ++++ ffmpeg-export-2008-05-01/libavutil/tree.h 2008-05-12 15:38:15.390625000 +0200 +@@ -30,7 +30,7 @@ + #define FFMPEG_TREE_H + + struct AVTreeNode; +-extern const int av_tree_node_size; ++extern AVUTIL_API const int av_tree_node_size; + + /** + * Finds an element. +diff -ur ffmpeg-export-2008-05-01-old/subdir.mak ffmpeg-export-2008-05-01/subdir.mak +--- ffmpeg-export-2008-05-01-old/subdir.mak 2008-04-09 23:11:39.000000000 +0200 ++++ ffmpeg-export-2008-05-01/subdir.mak 2008-05-12 15:38:15.406250000 +0200 +@@ -41,10 +41,6 @@ + install -d "$(SHLIBDIR)" + install -m 755 $(SUBDIR)$(SLIBNAME) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" + $(STRIP) "$(SHLIBDIR)/$(SLIBNAME_WITH_VERSION)" +- cd "$(SHLIBDIR)" && \ +- $(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME_WITH_MAJOR) +- cd "$(SHLIBDIR)" && \ +- $(LN_S) $(SLIBNAME_WITH_VERSION) $(SLIBNAME) + $(SLIB_INSTALL_EXTRA_CMD) + + install-lib$(NAME)-static: $(SUBDIR)$(LIBNAME) Property changes on: trunk/octave-forge/admin/Windows/msvc/libs/ffmpeg.diff ___________________________________________________________________ Name: svn:executable + * Modified: trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh 2008-05-12 08:32:24 UTC (rev 5040) +++ trunk/octave-forge/admin/Windows/msvc/make_pack_installer.sh 2008-05-12 19:40:51 UTC (rev 5041) @@ -77,6 +77,13 @@ echo " SetOutPath \"\$INSTDIR\\bin\"" echo " File \"\${VCLIBS_ROOT}\\bin\\libsqlite3-0.dll\"" ;; + video) + check_exec_prefix + echo " SetOutPath \"\$INSTDIR\\bin\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libavformat-*.dll\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libavcodec-*.dll\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libavutil-*.dll\"" + ;; esac return 0 } @@ -134,7 +141,7 @@ -e "s/@PACKAGE_INFO@/$packinfo/" \ -e "s/@OCTAVE_VERSION@/$octave_version/" \ -e "s/@VCLIBS_ROOT@/$exec_prefix_w32/" \ - -e 's/!define OCTAVE_ROOT .*/!define OCTAVE_ROOT "${VCLIBS_ROOT}"/' \ + -e "s/!define OCTAVE_ROOT .*/!define OCTAVE_ROOT "$octave_prefix_w32"/" \ -e "s/@PACKAGE_FILES@/$packfiles/" \ -e "s/@PACKAGE_DEPENDENCY@/$packdeps/" \ -e "s/@PACKAGE_AUTOLOAD@/$packautoload/" \ Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-12 08:32:24 UTC (rev 5040) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-12 19:40:51 UTC (rev 5041) @@ -44,7 +44,7 @@ VC octplot ncurses pkg-config fc-msvc libcurl libxml2 fontconfig GraphicsMagick bzip2 ImageMagick libtiff libwmf jasper GTK ATK Glibmm Cairomm Gtkmm libsigc++ libglade gtksourceview gdl VTE GtkGlArea PortAudio playrec OctaveDE Gtksourceview1 FTPlib -SQLite3" +SQLite3 FFMpeg" octave_version= of_version= do_nsi=false @@ -572,6 +572,7 @@ todo_check "$tlibdir/gtkgl-2.0.lib" GtkGlArea todo_check "$tlibdir/ftp.lib" FTPlib todo_check "$tlibdir/sqlite3.lib" SQLite3 + todo_check "$tlibdir/avcodec.lib" FFMpeg fi else packages="$todo_packages" @@ -2766,6 +2767,45 @@ fi fi +########## +# FFMpeg # +########## + +if check_package FFMpeg; then + download_file ffmpeg-export-snapshot.tar.bz2 "http://ffmpeg.mplayerhq.hu/ffmpeg-export-snapshot.tar.bz2" + echo -n "decompressing FFMpeg..." + unpack_file ffmpeg-export-snapshot.tar.bz2 + #ffmpegdir=`find "$DOWNLOAD_DIR" -type d -a -name "ffmpeg-export-*" | sed -e "s,.*/,,"` + ffmpegdir="ffmpeg-export-2008-05-01" + cp libs/ffmpeg.diff "$DOWNLOAD_DIR/$ffmpegdir" + echo "done" + echo -n "compiling FFMpeg..." + (cd "$DOWNLOAD_DIR/$ffmpegdir" && + patch -p1 < ffmpeg.diff && + start "//wait" "$CYGWIN_DIR/bin/bash.exe" --login -c "cd `pwd -W` && ./configure --prefix=\"$tdir_w32_forward\" --enable-avisynth --enable-gpl --enable-shared --disable-static --enable-w32threads --enable-avfilter --enable-swscale --extra-cflags=\"-mno-cygwin -mms-bitfields\" --extra-ldflags=\"-mno-cygwin -mms-bitfields\" --target-os=mingw32 --enable-memalign-hack --disable-mmx --disable-vhook --disable-debug --disable-ffmpeg --disable-ffserver --disable-ffplay" && + sed -e "s/^EXTRALIBS =/& -lmsvcr80/" config.mak > ttt && + mv ttt config.mak && + start "//wait" "$CYGWIN_DIR/bin/bash.exe" --login \ + -c "cd `pwd -W` && for lib in avutil avcodec avformat swscale avfilter avdevice; do make -C lib\$lib; done" && + for lib in avutil avcodec avformat swscale avfilter avdevice; do + (cd lib$lib && + deffile=`find -name "lib$lib-*.def"` && + sed -e "s/@[0-9]\+//" $deffile > ttt && + mv ttt $deffile && + lib -machine:i386 -def:$deffile) + done && + start "//wait" "$CYGWIN_DIR/bin/bash.exe" --login \ + -c "cd `pwd -W` && for lib in avutil avcodec avformat swscale avfilter avdevice; do make -C lib\$lib install; done" && + true) >&5 2>&1 + #remove_package "$DOWNLOAD_DIR/$ffmpegdir" + if test ! -f "$tlibdir/avcodec.lib"; then + echo "failed" + exit -1 + else + echo "done" + fi +fi + ################ # octave-forge # ################ @@ -2811,9 +2851,9 @@ # packages to fix: # new packages: # unsupported packages: engine graceplot multicore pdb tcl-octave xraylib -main_pkgs="signal audio bioinfo combinatorics communications control data-smoothing econometrics financial fixed ga general gsl ident image informationtheory io irsa linear-algebra miscellaneous missing-functions nnet octcdf odebvp odepkg optim outliers physicalconstants plot sockets specfun special-matrix splines statistics strings struct symbolic time" +main_pkgs="signal ann audio bioinfo combinatorics communications control database data-smoothing econometrics financial fixed ftp ga general gsl ident image informationtheory io irsa linear-algebra miscellaneous missing-functions nnet octcdf odebvp odepkg optim outliers physicalconstants plot sockets specfun special-matrix splines statistics strings struct symbolic time video" # packages to fix: octgpr -# new packages: ann database ftp video +# new packages: # unsupported packages: optiminterp parallel vrml zenity lang_pkgs="pt_br" nonfree_pkgs="arpack" @@ -3483,6 +3523,12 @@ echo " SetOutPath \"\$INSTDIR\\bin\"" echo " File \"\${VCLIBS_ROOT}\\bin\\libsqlite3-0.dll\"" ;; + video) + echo " SetOutPath \"\$INSTDIR\\bin\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libavformat-*.dll\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libavcodec-*.dll\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libavutil-*.dll\"" + ;; esac } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2008-05-14 14:09:14
|
Revision: 5047 http://octave.svn.sourceforge.net/octave/?rev=5047&view=rev Author: goffioul Date: 2008-05-14 07:09:14 -0700 (Wed, 14 May 2008) Log Message: ----------- Add some fancy images in the installer Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/octave.nsi.in Added Paths: ----------- trunk/octave-forge/admin/Windows/msvc/octave-hdr.bmp trunk/octave-forge/admin/Windows/msvc/octave-hdr.xcf trunk/octave-forge/admin/Windows/msvc/octave.bmp trunk/octave-forge/admin/Windows/msvc/octave.xcf Added: trunk/octave-forge/admin/Windows/msvc/octave-hdr.bmp =================================================================== (Binary files differ) Property changes on: trunk/octave-forge/admin/Windows/msvc/octave-hdr.bmp ___________________________________________________________________ Name: svn:executable + * Name: svn:mime-type + application/octet-stream Added: trunk/octave-forge/admin/Windows/msvc/octave-hdr.xcf =================================================================== (Binary files differ) Property changes on: trunk/octave-forge/admin/Windows/msvc/octave-hdr.xcf ___________________________________________________________________ Name: svn:executable + * Name: svn:mime-type + application/octet-stream Added: trunk/octave-forge/admin/Windows/msvc/octave.bmp =================================================================== (Binary files differ) Property changes on: trunk/octave-forge/admin/Windows/msvc/octave.bmp ___________________________________________________________________ Name: svn:executable + * Name: svn:mime-type + application/octet-stream Modified: trunk/octave-forge/admin/Windows/msvc/octave.nsi.in =================================================================== --- trunk/octave-forge/admin/Windows/msvc/octave.nsi.in 2008-05-14 14:06:31 UTC (rev 5046) +++ trunk/octave-forge/admin/Windows/msvc/octave.nsi.in 2008-05-14 14:09:14 UTC (rev 5047) @@ -59,6 +59,9 @@ !define MUI_ABORTWARNING !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" +!define MUI_HEADERIMAGE +!define MUI_HEADERIMAGE_BITMAP "octave-hdr.bmp" +!define MUI_WELCOMEFINISHPAGE_BITMAP "octave.bmp" ; Welcome page !insertmacro MUI_PAGE_WELCOME Added: trunk/octave-forge/admin/Windows/msvc/octave.xcf =================================================================== (Binary files differ) Property changes on: trunk/octave-forge/admin/Windows/msvc/octave.xcf ___________________________________________________________________ Name: svn:executable + * Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2008-05-18 20:27:56
|
Revision: 5067 http://octave.svn.sourceforge.net/octave/?rev=5067&view=rev Author: goffioul Date: 2008-05-18 13:27:42 -0700 (Sun, 18 May 2008) Log Message: ----------- Various MSVC2008 compilation fixes Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/cc-msvc.cc trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Modified: trunk/octave-forge/admin/Windows/msvc/cc-msvc.cc =================================================================== --- trunk/octave-forge/admin/Windows/msvc/cc-msvc.cc 2008-05-18 15:36:23 UTC (rev 5066) +++ trunk/octave-forge/admin/Windows/msvc/cc-msvc.cc 2008-05-18 20:27:42 UTC (rev 5067) @@ -137,6 +137,7 @@ if (result.find_first_of("&<>()@^| ") != string::npos) result = "\"" + result + "\""; +#if 0 if (result.find_first_of("<>") != string::npos) { /* Could not find a better way to avoid the problem @@ -144,6 +145,7 @@ replace(result.begin(), result.end(), '<', '['); replace(result.begin(), result.end(), '>', ']'); } +#endif return result; } Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-18 15:36:23 UTC (rev 5066) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-18 20:27:42 UTC (rev 5067) @@ -60,7 +60,7 @@ lapackver=3.1.1 pcrever=7.4 curlver=7.16.4 -libpngver=1.2.23 +libpngver=1.2.29 glpkver=4.23 gslver=1.10 netcdfver=3.6.2 @@ -201,6 +201,7 @@ done atlnum=`echo $atlver | sed -e 's/\.//g'` +build_flag=false if $verbose; then exec 5>&1 @@ -226,8 +227,10 @@ function remove_package { packdir="$1" - if ! $do_debug; then - rm -rf "$packdir" + if $build_flag; then + if ! $do_debug; then + rm -rf "$packdir" + fi fi } @@ -249,6 +252,7 @@ found=`echo "$packages" | grep -e $pack` if test ! -z "$found"; then echo "processing $pack... " + build_flag=false return 0 fi fi @@ -256,6 +260,11 @@ return -1 } +function end_package +{ + build_flag=true +} + function check_cmake { cmake=`which cmake.exe` @@ -1124,9 +1133,9 @@ ############### if check_package SuiteSparse; then - download_file SuiteSparse-3.0.0.tar http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-3.0.0.tar.gz + download_file SuiteSparse-3.0.0.tar.gz http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-3.0.0.tar.gz echo -n "decompressing SuiteSparse... " - unpack_file SuiteSparse-3.0.0.tar + unpack_file SuiteSparse-3.0.0.tar.gz cp libs/suitesparse-3.0.0.diff "$DOWNLOAD_DIR/SuiteSparse" echo "done" echo "compiling SuiteSpase... " @@ -1173,15 +1182,16 @@ create_module_rc HDF5 $hdf5ver libhdf5-0.dll "University of Illinois" \ "NCSA Hierarchical Data Format (HDF) Library" \ "Copyright by the Board of Trustees of the University of Illinois." > src/hdf5.rc && - CC=cc-msvc CFLAGS="-O2 -MD" CXX=cc-msvc CXXFLAGS="-O2 -MD" FC=fc-msvc FCFLAGS="-O2 -MD" \ + CC=cc-msvc CFLAGS="-O2 -MD" CXX=cc-msvc CXXFLAGS="-EHsc -O2 -MD" FC=fc-msvc FCFLAGS="-O2 -MD" \ F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32 -D_HDF5DLL_" AR=ar-msvc RANLIB=ranlib-msvc \ ./configure --prefix="$tdir_w32_forward" --enable-shared --disable-static && post_process_libtool && - sed -e '/^postinstall_cmds=/ {s/\$name/\\$name/; s/\$implibname/\\$implibname/;}' libtool > ttt - mv ttt libtool && + #sed -e '/^postinstall_cmds=/ {s/\$name/\\$name/; s/\$implibname/\\$implibname/;}' libtool > ttt + # mv ttt libtool && sed -e 's/\$(LIB)/$(HLIB)/g' \ -e 's/^LIB=/HLIB=/g' \ -e 's/^LIBS=.*$/& -lws2_32/' \ + -e 's,\$(libdir)/\.,$(libdir),' \ -e 's/^LDFLAGS=/LDFLAGS= -no-undefined -Wl,hdf5.res/' src/Makefile > ttt && mv ttt src/Makefile && sed -e '/^#ifdef \+H5_HAVE_STREAM.*$/ {p; c\ @@ -1238,36 +1248,57 @@ ########## if check_package libpng; then - pngver=`echo $libpngver | sed -e "s/\.//g"` - download_file lpng$pngver.zip ftp://ftp.simplesystems.org/pub/libpng/png/src/lpng$pngver.zip - echo -n "decompressing libpng... " - (cd "$DOWNLOAD_DIR" && unzip -q lpng$pngver.zip) - echo "done" - echo -n "compiling libpng... " - (cd "$DOWNLOAD_DIR/lpng$pngver/projects/visualc71" && - sed -e 's/{2D4F8105-7D21-454C-9932-B47CAB71A5C0} = {2D4F8105-7D21-454C-9932-B47CAB71A5C0}//' libpng.sln > ttt && - mv ttt libpng.sln && - sed -e "s/\([ ]*\)AdditionalIncludeDirectories=\".*\"$/\1AdditionalIncludeDirectories=\"..\\\\..;$tdir_w32\\\\include\"/" \ - -e "s/\([ ]*\)Name=\"VCLinkerTool\".*$/\1Name=\"VCLinkerTool\"\\ + if false; then + pngver=`echo $libpngver | sed -e "s/\.//g"` + download_file lpng$pngver.zip ftp://ftp.simplesystems.org/pub/libpng/png/src/lpng$pngver.zip + echo -n "decompressing libpng... " + (cd "$DOWNLOAD_DIR" && unzip -q lpng$pngver.zip) + echo "done" + echo -n "compiling libpng... " + (cd "$DOWNLOAD_DIR/lpng$pngver/projects/visualc71" && + sed -e 's/{2D4F8105-7D21-454C-9932-B47CAB71A5C0} = {2D4F8105-7D21-454C-9932-B47CAB71A5C0}//' libpng.sln > ttt && + mv ttt libpng.sln && + sed -e "s/\([ ]*\)AdditionalIncludeDirectories=\".*\"$/\1AdditionalIncludeDirectories=\"..\\\\..;$tdir_w32\\\\include\"/" \ + -e "s/\([ ]*\)Name=\"VCLinkerTool\".*$/\1Name=\"VCLinkerTool\"\\ AdditionalDependencies=\"zlib.lib\"\\ ImportLibrary=\"\$(TargetDir)png.lib\"\\ AdditionalLibraryDirectories=\"$tdir_w32\\\\lib\"/" libpng.vcproj > ttt && - mv ttt libpng.vcproj && - sed -e "s/^ *; *png_get_libpng_ver/ png_get_libpng_ver/" ../../scripts/pngw32.def > ttt && - mv ttt ../../scripts/pngw32.def && - vcbuild -u libpng.vcproj 'DLL Release|Win32' && - sed -e "s,^prefix=.*$,prefix=$tdir_w32_forward," \ - -e "s,@exec_prefix@,\${prefix}," \ - -e "s,@libdir@,\${exec_prefix}/lib," \ - -e "s,^includedir=.*$,includedir=\${prefix}/include," \ - -e "s,-lpng[0-9]\+,-lpng," ../../scripts/libpng.pc.in > libpng.pc && - cp Win32_DLL_Release/libpng*.dll "$tbindir" && - cp Win32_DLL_Release/png.lib "$tlibdir" && - cp ../../png.h ../../pngconf.h "$tincludedir" && - mkdir -p "$tlibdir/pkgconfig" && - cp libpng.pc "$tlibdir/pkgconfig" && - cp libpng.pc "$tlibdir/pkgconfig/libpng12.pc") >&5 2>&1 - rm -rf "$DOWNLOAD_DIR/lpng$pngver" + mv ttt libpng.vcproj && + sed -e "s/^ *; *png_get_libpng_ver/ png_get_libpng_ver/" ../../scripts/pngw32.def > ttt && + mv ttt ../../scripts/pngw32.def && + vcbuild -upgrade libpng.vcproj && + vcbuild -u libpng.vcproj 'DLL Release|Win32' && + sed -e "s,^prefix=.*$,prefix=$tdir_w32_forward," \ + -e "s,@exec_prefix@,\${prefix}," \ + -e "s,@libdir@,\${exec_prefix}/lib," \ + -e "s,^includedir=.*$,includedir=\${prefix}/include," \ + -e "s,-lpng[0-9]\+,-lpng," ../../scripts/libpng.pc.in > libpng.pc && + cp Win32_DLL_Release/libpng*.dll "$tbindir" && + cp Win32_DLL_Release/png.lib "$tlibdir" && + cp ../../png.h ../../pngconf.h "$tincludedir" && + mkdir -p "$tlibdir/pkgconfig" && + cp libpng.pc "$tlibdir/pkgconfig" && + cp libpng.pc "$tlibdir/pkgconfig/libpng12.pc") >&5 2>&1 + rm -rf "$DOWNLOAD_DIR/lpng$pngver" + else + download_file libpng-$libpngver.tar.bz2 ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-$libpngver.tar.bz2 + echo -n "decompressing libpng... " + unpack_file libpng-$libpngver.tar.bz2 + echo "done" + echo -n "compiling libpng... " + (cd "$DOWNLOAD_DIR/libpng-$libpngver" && + ac_cv_func_memset=yes ac_cv_func_pow=yes \ + configure_package --disable-static --enable-shared --without-libpng-compat && + post_process_libtool && + sed -e 's/^libpng12_la_LDFLAGS =/& -export-symbols-regex "^png_.*" -Wl,scripts\/pngw32.res/' Makefile > ttt && + mv ttt Makefile && + (cd scripts && rc -fo pngw32.res pngw32.rc) && + make && + make install && + rm -rf $tlibdir_quoted/libpng*.la && + cp "$tlibdir/png12.lib" "$tlibdir/png.lib") >&5 2>&1 + remove_package "$DOWNLOAD_DIR/libpng-$libpngver" + fi if test ! -f "$tlibdir/png.lib"; then echo "failed" exit -1 @@ -1407,9 +1438,7 @@ echo "done" echo -n "compiling libiconv... " (cd "$DOWNLOAD_DIR/libiconv-$libiconvver" && - CC=cc-msvc CFLAGS="-O2 -MD" CXX=cc-msvc CXXFLAGS="-O2 -MD" FC=fc-msvc FCFLAGS="-O2 -MD" \ - F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32" AR=ar-msvc RANLIB=ranlib-msvc \ - ./configure --prefix="$tdir_w32_forward" --enable-shared --disable-static --disable-nls && + configure_package --enable-shared --disable-static --disable-nls && post_process_libtool && post_process_libtool libcharset/libtool && sed -e '/^#define LIBCHARSET_DLL_EXPORTED *$/ {c\ @@ -1443,8 +1472,8 @@ make && make install && rm -f $tlibdir_quoted/libiconv.la $tlibdir_quoted/libcharset.la && - true) >&5 2>&1 - rm -rf "$DOWNLOAD_DIR/libiconv-$libiconvver" + end_package) >&5 2>&1 + remove_package "$DOWNLOAD_DIR/libiconv-$libiconvver" if test ! -f "$tlibdir/iconv.lib"; then echo "failed" exit -1 @@ -1497,11 +1526,12 @@ sed -e 's/^[ ]*case SUBLANG_SINDHI_AFGHANISTAN:.*$//' gettext-tools/gnulib-lib/localename.c > ttt && mv ttt gettext-tools/gnulib-lib/localename.c fi && - (cd gettext-tools/src && make gettext.res && cp gettext.res ../gnulib-lib/gettextlib.res) && + (cd gettext-tools/src && make gettext.res && cp gettext.res ../gnulib-lib/gettext.res) && make && make install && - rm $tlibdir_quoted/lib*.la) >&5 2>&1 - #remove_package "$DOWNLOAD_DIR/gettext-$gettextver" + rm $tlibdir_quoted/lib*.la && + end_package) >&5 2>&1 + remove_package "$DOWNLOAD_DIR/gettext-$gettextver" if test ! -f "$tlibdir/intl.lib"; then echo "failed" exit -1 @@ -1521,10 +1551,7 @@ echo "done" echo "compiling cairo... " (cd "$DOWNLOAD_DIR/cairo-$cairover" && - CC=cc-msvc CFLAGS="-O2 -MD" CXX=cc-msvc CXXFLAGS="-O2 -MD" FC=fc-msvc FCFLAGS="-O2 -MD" \ - F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32" AR=ar-msvc RANLIB=ranlib-msvc \ - ax_cv_c_float_words_bigendian=no \ - ./configure --prefix="$tdir_w32_forward" --enable-shared --disable-static && + configure_package --enable-shared --disable-static && post_process_libtool && sed -e "s|^libcairo_la_LDFLAGS =|libcairo_la_LDFLAGS = -Wl,cairo.res|" \ -e "s|^libcairo_la_OBJECTS =|libcairo_la_OBJECTS = cairo.res|" \ @@ -1536,8 +1563,9 @@ "`grep -e '^Cairo -' README | head -n 1`" "Copyright \xA9 `date +%Y` Freedesktop.org" > src/cairo.rc && make && make install && - rm -f $tlibdir_quoted/libcairo*.la) >&5 2>&1 - rm -rf "$DOWNLOAD_DIR/cairo-$cairover" + rm -f $tlibdir_quoted/libcairo*.la && + end_package) >&5 2>&1 + remove_package "$DOWNLOAD_DIR/cairo-$cairover" if test ! -f "$tbindir/libcairo-2.dll"; then echo "failed" exit -1 @@ -1587,8 +1615,9 @@ mv ttt Makefile && make && make install && - rm -f $tlibdir_quoted/libglib*.la $tlibdir_quoted/libgmodule*.la \ - $tlibdir_quoted/libgthread*.la $tlibdir_quoted/libgobject*.la) >&5 2>&1 + rm -f $tlibdir_quoted/libglib*.la $tlibdir_quoted/libgmodule*.la \ + $tlibdir_quoted/libgthread*.la $tlibdir_quoted/libgobject*.la && + end_package) >&5 2>&1 remove_package "$DOWNLOAD_DIR/glib-$glibver" if test ! -f "$tbindir/libglib-2.0-0.dll"; then echo "failed" @@ -1598,42 +1627,6 @@ fi fi -######### -# pango # -######### - -if check_package pango; then - pangoroot=`echo $pangover | sed -e 's/\.[0-9]\+$//'` - download_file pango-$pangover.tar.bz2 ftp://ftp.gtk.org/pub/pango/$pangoroot/pango-$pangover.tar.bz2 - echo -n "decompressing pango... " - unpack_file pango-$pangover.tar.bz2 - echo "done" - echo "compiling pango... " - (cd "$DOWNLOAD_DIR/pango-$pangover" && - configure_package --enable-shared --disable-static --with-included-modules=basic-win32 \ - --with-dynamic-modules=no --enable-explicit-deps=no && - post_process_libtool && - sed -e 's/-lgdi32/-luser32 -lgdi32/' \ - -e 's/^\(libpangocairo.*_la_LDFLAGS =\)/\1 -Wl,pangocairo-win32-res.o/' \ - -e '/^install-data-local:/ {s/install-ms-lib//;s/install-def-files//;}' pango/Makefile > ttt && - mv ttt pango/Makefile && - sed -e 's,/pango/pango-querymodules\$(EXEEXT),/pango/pango-querymodules,' modules/Makefile > ttt && - mv ttt modules/Makefile && - sed -e 's/PangoFT2/PangoCairo/g' \ - -e 's/pangoft2/pangocairo/g' pango/pangoft2.rc > pango/pangocairo.rc && - rc -fo pango/pangocairo-win32-res.o pango/pangocairo.rc && - make && - make install && - rm -f $tlibdir_quoted/libpango*.la) >&5 2>&1 - remove_package "$DOWNLOAD_DIR/pango-$pangover" - if test ! -f "$tbindir/libpango-1.0-0.dll"; then - echo "failed" - exit -1 - else - echo "done" - fi -fi - ########### # libxml2 # ########### @@ -1647,9 +1640,14 @@ (cd "$DOWNLOAD_DIR/libxml2-$libxml2ver" && create_module_rc libxml2 $libxml2ver "libxml2-2.dll" "XmlSoft (www.xmlsoft.org)" \ "XML Parser and Toolkit Library" "`grep -e '^ *Copyright' Copyright | head -n 1 | sed -e 's/^ *//'`" > xml2.rc && - CC=cc-msvc CFLAGS="-O2 -MD" CXX=cc-msvc CXXFLAGS="-O2 -MD" FC=fc-msvc FCFLAGS="-O2 -MD" \ - F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32" AR=ar-msvc RANLIB=ranlib-msvc \ - ./configure --prefix="$tdir_w32_forward" --enable-shared --disable-static && + sed -e '/#undef vsnprintf/ {i \ +#ifndef HAVE_VSNPRINTF\ +#undef vsnprintf\ +#endif +;d;}' + config.h.in > ttt && + mv ttt config.h.in && + configure_package --enable-shared --disable-static && post_process_libtool && sed -e "s/^libxml2_la_LDFLAGS =/libxml2_la_LDFLAGS = -Wl,-export:trio_snprintf -Wl,xml2.res/" Makefile > ttt && mv ttt Makefile && @@ -1660,8 +1658,9 @@ rc -fo xml2.res xml2.rc && make && make install && - rm -f $tlibdir_quoted/libxml2.la) >&5 2>&1 - rm -rf "$DOWNLOAD_DIR/libxml2-$libxml2ver" + rm -f $tlibdir_quoted/libxml2.la && + end_package) >&5 2>&1 + remove_package "$DOWNLOAD_DIR/libxml2-$libxml2ver" if test ! -f "$tlibdir/xml2.lib"; then echo "failed" exit -1 @@ -1670,6 +1669,49 @@ fi fi +############ +# freetype # +############ + +if check_package freetype; then + download_file freetype-$ftver.tar.bz2 http://download.savannah.gnu.org/releases/freetype/freetype-$ftver.tar.bz2 + echo -n "decompressing freetype... " + unpack_file freetype-$ftver.tar.bz2 + echo "done" + echo -n "compiling freetype... " + (cd "$DOWNLOAD_DIR/freetype-$ftver" && + create_module_rc FreeType $ftver libfreetype-6.dll "Freetype.org <www.freetype.org>" \ + "FreeType 2 Font Engine Library" "`grep -A 2 -e '^Copyright' README | tr \\\\n ' '`" > freetype.rc && + configure_package --enable-shared --disable-static && + post_process_libtool builds/unix/libtool && + sed -e "/^TOP_DIR/ {s/pwd/pwd -W/;}" builds/unix/unix-def.mk > ttt && + mv ttt builds/unix/unix-def.mk && + sed -e 's/^LDFLAGS \+:=/LDFLAGS := -Wl,freetype.res/' builds/unix/unix-cc.mk > ttt && + mv ttt builds/unix/unix-cc.mk && + sed -e '/define \+FT_EXPORT/ {p; c\ +\#ifdef FT2_BUILD_LIBRARY\ +\# define FT_EXPORT(x) __declspec(dllexport) x\ +\# define FT_EXPORT_VAR(x) __declspec(dllexport) x\ +\#else\ +\# define FT_EXPORT(x) __declspec(dllimport) x\ +\# define FT_EXPORT_VAR(x) __declspec(dllimport) x\ +\#endif +;}' include/freetype/config/ftoption.h > ttt && + mv ttt include/freetype/config/ftoption.h && + rc -fo freetype.res freetype.rc && + make && + make install && + rm -f $tlibdir_quoted/libfreetype*.la && + end_package) >&5 2>&1 + remove_package "$DOWNLOAD_DIR/freetype-$ftver" + if test ! -f "$tlibdir/freetype.lib"; then + echo "failed" + exit -1 + else + echo "done" + fi +fi + ############## # fontconfig # ############## @@ -1685,9 +1727,7 @@ patch -p1 < fontconfig-$fontconfigver.diff && create_module_rc FontConfig $fontconfigver "libfontconfig-1.dll" "Freedesktop (www.freedesktop.org)" \ "Font Configuration Library" "`grep -e '^ *Copyright' COPYING | head -n 1 | sed -e 's/^ *//'`" > src/fontconfig.rc && - CC=cc-msvc CFLAGS="-O2 -MD" CXX=cc-msvc CXXFLAGS="-O2 -EHsc -MD" FC=fc-msvc FCFLAGS="-O2 -MD" \ - F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32" AR=ar-msvc RANLIB=ranlib-msvc \ - ./configure --prefix="$tdir_w32_forward" --enable-shared --disable-static --disable-docs --enable-xlm2 && + configure_package --enable-shared --disable-static --disable-docs --enable-xml2 && post_process_libtool && sed -e "s/^libfontconfig_la_LDFLAGS =/libfontconfig_la_LDFLAGS = -Wl,fontconfig.res/" src/Makefile > ttt && mv ttt src/Makefile && @@ -1695,8 +1735,8 @@ make && make install && rm -f "$tlibdir/libfontconfig.la" && - true) >&5 2>&1 - rm -rf "$DOWNLOAD_DIR/fontconfig-$fontconfigver" + end_package) >&5 2>&1 + remove_package "$DOWNLOAD_DIR/fontconfig-$fontconfigver" if test ! -f "$tlibdir/fontconfig.lib"; then echo "failed" exit -1 @@ -1705,43 +1745,36 @@ fi fi -############ -# freetype # -############ +######### +# pango # +######### -if check_package freetype; then - download_file freetype-$ftver.tar.bz2 http://download.savannah.gnu.org/releases/freetype/freetype-$ftver.tar.bz2 - echo -n "decompressing freetype... " - unpack_file freetype-$ftver.tar.bz2 +if check_package pango; then + pangoroot=`echo $pangover | sed -e 's/\.[0-9]\+$//'` + download_file pango-$pangover.tar.bz2 ftp://ftp.gtk.org/pub/pango/$pangoroot/pango-$pangover.tar.bz2 + echo -n "decompressing pango... " + unpack_file pango-$pangover.tar.bz2 echo "done" - echo -n "compiling freetype... " - (cd "$DOWNLOAD_DIR/freetype-$ftver" && - create_module_rc FreeType $ftver libfreetype-6.dll "Freetype.org <www.freetype.org>" \ - "FreeType 2 Font Engine Library" "`grep -A 2 -e '^Copyright' README | tr \\\\n ' '`" > freetype.rc && - CC=cc-msvc CFLAGS="-O2 -MD" CXX=cc-msvc CXXFLAGS="-O2 -MD" FC=fc-msvc FCFLAGS="-O2 -MD" \ - F77=fc-msvc FFLAGS="-O2 -MD" CPPFLAGS="-DWIN32 -D_WIN32" AR=ar-msvc RANLIB=ranlib-msvc \ - ./configure --prefix="$tdir_w32_forward" --enable-shared --disable-static && - post_process_libtool builds/unix/libtool && - sed -e "/^TOP_DIR/ {s/pwd/pwd -W/;}" builds/unix/unix-def.mk > ttt && - mv ttt builds/unix/unix-def.mk && - sed -e 's/^LDFLAGS \+:=/LDFLAGS := -Wl,freetype.res/' builds/unix/unix-cc.mk > ttt && - mv ttt builds/unix/unix-cc.mk && - sed -e '/define \+FT_EXPORT/ {p; c\ -\#ifdef FT2_BUILD_LIBRARY\ -\# define FT_EXPORT(x) __declspec(dllexport) x\ -\# define FT_EXPORT_VAR(x) __declspec(dllexport) x\ -\#else\ -\# define FT_EXPORT(x) __declspec(dllimport) x\ -\# define FT_EXPORT_VAR(x) __declspec(dllimport) x\ -\#endif -;}' include/freetype/config/ftoption.h > ttt && - mv ttt include/freetype/config/ftoption.h && - rc -fo freetype.res freetype.rc && + echo "compiling pango... " + (cd "$DOWNLOAD_DIR/pango-$pangover" && + configure_package --enable-shared --disable-static --with-included-modules=basic-win32 \ + --with-dynamic-modules=no --enable-explicit-deps=no && + post_process_libtool && + sed -e 's/-lgdi32/-luser32 -lgdi32/' \ + -e 's/^\(libpangocairo.*_la_LDFLAGS =\)/\1 -Wl,pangocairo-win32-res.o/' \ + -e '/^install-data-local:/ {s/install-ms-lib//;s/install-def-files//;}' pango/Makefile > ttt && + mv ttt pango/Makefile && + sed -e 's,/pango/pango-querymodules\$(EXEEXT),/pango/pango-querymodules,' modules/Makefile > ttt && + mv ttt modules/Makefile && + sed -e 's/PangoFT2/PangoCairo/g' \ + -e 's/pangoft2/pangocairo/g' pango/pangoft2.rc > pango/pangocairo.rc && + rc -fo pango/pangocairo-win32-res.o pango/pangocairo.rc && make && make install && - rm -f $tlibdir_quoted/libfreetype*.la) >&5 2>&1 - rm -rf "$DOWNLOAD_DIR/freetype-$ftver" - if test ! -f "$tlibdir/freetype.lib"; then + rm -f $tlibdir_quoted/libpango*.la && + end_package) >&5 2>&1 + remove_package "$DOWNLOAD_DIR/pango-$pangover" + if test ! -f "$tbindir/libpango-1.0-0.dll"; then echo "failed" exit -1 else @@ -2011,7 +2044,7 @@ if check_package pkg-config; then use_support_glib=false - if test ! -f "`which libglib-2.0-0.dll`"; then + if test ! -f "$tdir_w32_forward/bin/libglib-2.0-0.dll"; then echo "compiling support GLib... " && glibroot=`echo $glibver | sed -e 's/\.[0-9]\+$//'` download_file glib-$glibver.tar.gz ftp://ftp.gtk.org/pub/glib/$glibroot/glib-$glibver.tar.gz @@ -2031,8 +2064,8 @@ mv ttt glib/pcre/makefile.msc && sed -e '/^PARTS/ {s/tests//;}' makefile.msc > ttt && mv ttt makefile.msc && - (cd build/win32/dirent && nmake -f makefile.msc INTL=D:/Software/VCLibs LIBICONV=D:/Software/VCLibs) && - (cd glib && nmake -f makefile.msc "INTL=D:/Software/VCLibs" "LIBICONV=D:/Software/VCLibs") && + (cd build/win32/dirent && nmake -f makefile.msc INTL=$tdir_w32_forward LIBICONV=$tdir_w32_forward) && + (cd glib && nmake -f makefile.msc "INTL=$tdir_w32_forward" "LIBICONV=$tdir_w32_forward") && echo "done") use_support_glib=true fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2008-05-21 08:17:33
|
Revision: 5077 http://octave.svn.sourceforge.net/octave/?rev=5077&view=rev Author: goffioul Date: 2008-05-21 01:11:47 -0700 (Wed, 21 May 2008) Log Message: ----------- - Minor fix to readline compilation - Add some missing "&&" - Use correct libpng filename - Use defined ImageMagick version - libgd now depends on fontconfig Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/octave.nsi.in trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Modified: trunk/octave-forge/admin/Windows/msvc/octave.nsi.in =================================================================== --- trunk/octave-forge/admin/Windows/msvc/octave.nsi.in 2008-05-20 20:23:07 UTC (rev 5076) +++ trunk/octave-forge/admin/Windows/msvc/octave.nsi.in 2008-05-21 08:11:47 UTC (rev 5077) @@ -324,6 +324,8 @@ File "${VCLIBS_ROOT}\bin\wgnuplot.hlp" File "${VCLIBS_ROOT}\bin\wgnuplot.mnu" File "${VCLIBS_ROOT}\bin\libgd-2.dll" + File "${VCLIBS_ROOT}\bin\libfontconfig-1.dll" + File "${VCLIBS_ROOT}\bin\libxml2-2.dll" File "${VCLIBS_ROOT}\bin\libfreetype-6.dll" File "${VCLIBS_ROOT}\bin\libiconv-2.dll" File "${VCLIBS_ROOT}\bin\libintl-8.dll" @@ -336,7 +338,8 @@ File "${VCLIBS_ROOT}\bin\libpango-1.0-0.dll" File "${VCLIBS_ROOT}\bin\libpangocairo-1.0-0.dll" File "${VCLIBS_ROOT}\bin\libpangowin32-1.0-0.dll" - File "${VCLIBS_ROOT}\bin\libpng13.dll" + File "${VCLIBS_ROOT}\bin\libpng12-0.dll" + File "${VCLIBS_ROOT}\bin\libpcre-0.dll" File "${VCLIBS_ROOT}\bin\zlib1.dll" #SetOutPath "$INSTDIR\etc" #File /r "${VCLIBS_ROOT}\etc\*.*" @@ -364,7 +367,7 @@ SetOutPath "$INSTDIR\bin" File "${VCLIBS_ROOT}\bin\fltkdll.dll" File "${VCLIBS_ROOT}\bin\libjpeg-62.dll" - File "${VCLIBS_ROOT}\bin\libpng13.dll" + File "${VCLIBS_ROOT}\bin\libpng12-0.dll" File "${VCLIBS_ROOT}\bin\libfreetype-6.dll" SetOutPath "$INSTDIR\share\octplot" File /r "${OCTAVE_ROOT}\share\octplot\*.*" @@ -506,7 +509,7 @@ File "${VCLIBS_ROOT}\bin\libpangowin32-1.0-0.dll" File "${VCLIBS_ROOT}\bin\libpangomm-1.4-1.dll" File "${VCLIBS_ROOT}\bin\libpcre-0.dll" - File "${VCLIBS_ROOT}\bin\libpng13.dll" + File "${VCLIBS_ROOT}\bin\libpng12-0.dll" File "${VCLIBS_ROOT}\bin\libsigc-2.0-0.dll" File "${VCLIBS_ROOT}\bin\libtiff.dll" File "${VCLIBS_ROOT}\bin\libvte-9.dll" Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-20 20:23:07 UTC (rev 5076) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-21 08:11:47 UTC (rev 5077) @@ -1088,9 +1088,9 @@ mv ttt shlib/Makefile.in && echo "readline.res: readline.rc" >> shlib/Makefile.in && echo " rc -fo \$@ \$<" >> shlib/Makefile.in && - CC=cc-msvc CXX=cc-msvc ./configure --build=i686-pc-msdosmsvc --prefix=$INSTALLDIR && + configure_package --build=i686-pc-msdosmsvc && make shared && - make install-shared DESTDIR=$INSTALL_DIR && + make install-shared && cp shlib/*readline*.lib "$tlibdir/readline.lib" && cp shlib/*history*.lib "$tlibdir/history.lib"&& mv $tlibdir_quoted/*readline*.dll $tlibdir_quoted/*history*.dll "$tbindir") >&5 2>&1 && end_package @@ -2639,7 +2639,7 @@ (cd wand && rc -fo magickwand.res magickwand.rc) && (cd Magick++/lib && rc -fo magick++.res magick++.rc) && make && - make install + make install && rm -f $tlibdir_quoted/libWand*.la && rm -f $tlibdir_quoted/libMagick*.la) >&5 2>&1 && end_package remove_package "$DOWNLOAD_DIR/ImageMagick-$imagickver" @@ -2779,7 +2779,7 @@ mv ttt portaudio-2.0.pc && post_process_libtool && make lib/libportaudio.la && - make install + make install && rm -f $tlibdir_quoted/libportaudio*.la) >&5 2>&1 && end_package remove_package "$DOWNLOAD_DIR/portaudio" if failed_package || test ! -f "$tlibdir/portaudio.lib"; then @@ -3598,7 +3598,7 @@ image) echo " SetOutPath \"\$INSTDIR\\bin\"" echo " File \"\${VCLIBS_ROOT}\\bin\\libjpeg-62.dll\"" - echo " File \"\${VCLIBS_ROOT}\\bin\\libpng13.dll\"" + echo " File \"\${VCLIBS_ROOT}\\bin\\libpng12-0.dll\"" found=`find "$octave_prefix/libexec/octave/packages/$packinstdir/" -name "__magick_read__.oct" 2> /dev/null` if test -n "$found"; then echo " File \"\${VCLIBS_ROOT}\\bin\\libMagick-10.dll\"" @@ -3610,10 +3610,10 @@ echo " File \"\${VCLIBS_ROOT}\\bin\\libxml2-2.dll\"" echo " File \"\${VCLIBS_ROOT}\\bin\\libfreetype-6.dll\"" echo " File \"\${VCLIBS_ROOT}\\bin\\zlib1.dll\"" - echo " SetOutPath \"\$INSTDIR\\lib\\ImageMagick-6.3.8\"" - echo " File /r \"\${VCLIBS_ROOT}\\lib\\ImageMagick-6.3.8\\*.*\"" - echo " SetOutPath \"\$INSTDIR\\share\\ImageMagick-6.3.8\"" - echo " File /r \"\${VCLIBS_ROOT}\\share\\ImageMagick-6.3.8\\*.*\"" + echo " SetOutPath \"\$INSTDIR\\lib\\ImageMagick-$imagickver\"" + echo " File /r \"\${VCLIBS_ROOT}\\lib\\ImageMagick-$imagickver\\*.*\"" + echo " SetOutPath \"\$INSTDIR\\share\\ImageMagick-$imagickver\"" + echo " File /r \"\${VCLIBS_ROOT}\\share\\ImageMagick-$imagickver\\*.*\"" fi ;; octcdf) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2008-05-22 13:16:53
|
Revision: 5081 http://octave.svn.sourceforge.net/octave/?rev=5081&view=rev Author: goffioul Date: 2008-05-22 06:16:58 -0700 (Thu, 22 May 2008) Log Message: ----------- Changes for VS2008-based NSI installer generation Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/README.txt.in trunk/octave-forge/admin/Windows/msvc/atlascpu.ini trunk/octave-forge/admin/Windows/msvc/octave.nsi.in trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Modified: trunk/octave-forge/admin/Windows/msvc/README.txt.in =================================================================== --- trunk/octave-forge/admin/Windows/msvc/README.txt.in 2008-05-22 09:25:26 UTC (rev 5080) +++ trunk/octave-forge/admin/Windows/msvc/README.txt.in 2008-05-22 13:16:58 UTC (rev 5081) @@ -18,19 +18,14 @@ To build OCT or MEX files from their sources requires that a compiler is installed. Ideally this should be the same compiler version as has been used to compile this package. This version of Octave has been -compiled with Microsoft Visual C++ 8.0 (aka 2005), which is available +compiled with Microsoft Visual C++ @MSVC_VER@, which is available for free download from -http://msdn.microsoft.com/vstudio/express/visualc/ +http://www.microsoft.com/express/vc/ -Note: The current Visual C++ version is 9.0 (aka 2008), but this version -cannot be used with the octave package. However, the previous version of -the compiler can still be downloaded from - -http://www.microsoft.com/downloads/details.aspx?FamilyId=7B0B0339-613A-46E6-AB4D-080D4D4A8C4E&displaylang=en - Please be sure to use the same compiler version as the one used to -create the binary package. +create the binary package. If the link above does not work, go to +http://msdn.microsoft.com and look for Visual Studio Express Edition. Visual C++ can not be distributed with Octave due to licensing restrictions on redistribution. Once Visual C++ is installed, then Modified: trunk/octave-forge/admin/Windows/msvc/atlascpu.ini =================================================================== --- trunk/octave-forge/admin/Windows/msvc/atlascpu.ini 2008-05-22 09:25:26 UTC (rev 5080) +++ trunk/octave-forge/admin/Windows/msvc/atlascpu.ini 2008-05-22 13:16:58 UTC (rev 5081) @@ -20,7 +20,7 @@ [Field 3] Type=Droplist Text=Droplist -ListItems=Generic (works on all systems)|Intel Pentium 4 with SSE2 +ListItems=Generic (works on all systems)|Intel Pentium 4 with SSE3 Left=64 Right=272 Top=100 Modified: trunk/octave-forge/admin/Windows/msvc/octave.nsi.in =================================================================== --- trunk/octave-forge/admin/Windows/msvc/octave.nsi.in 2008-05-22 09:25:26 UTC (rev 5080) +++ trunk/octave-forge/admin/Windows/msvc/octave.nsi.in 2008-05-22 13:16:58 UTC (rev 5081) @@ -5,6 +5,7 @@ !define MSYS_ROOT "@MSYS_ROOT@" !define JHANDLES_VERSION "@JHANDLES_VERSION@" !define SOFTWARE_ROOT "@SOFTWARE_ROOT@" +!define MSVC_CRT "@MSVC_CRT@" ; Determine which configuration to use #!define ATLAS_PM @@ -45,7 +46,7 @@ !insertmacro WordReplace !define LA_GEN "Generic (works on all systems)" -!define LA_P4 "Intel Pentium 4 with SSE2" +!define LA_P4 "Intel Pentium 4 with SSE3" !ifdef ATLAS_PM !define LA_PM "Intel Pentium M with SSE2" !define LA_COUNT 3 @@ -253,11 +254,11 @@ File "${VCLIBS_ROOT}\license\COPYING.LAPACK" SectionEnd -Section /o "P4/SSE2" SEC_LA_P4SSE2 +Section /o "P4/SSE3" SEC_LA_P4SSE3 SetOutPath "$INSTDIR\bin" SetOverwrite try - File /oname=libblas.dll "${VCLIBS_ROOT}\bin\libblas_atl_WinNT_P4SSE2.dll" - File /oname=liblapack.dll "${VCLIBS_ROOT}\bin\liblapack_atl_WinNT_P4SSE2.dll" + File /oname=libblas.dll "${VCLIBS_ROOT}\bin\libblas_atl381_P4E32SSE3.dll" + File /oname=liblapack.dll "${VCLIBS_ROOT}\bin\liblapack_atl381_P4E32SSE3.dll" SectionEnd !ifdef ATLAS_PM @@ -276,12 +277,12 @@ SetOverwrite try StrCmp $IS_WIN2K 1 is_win2k is_winxp is_winxp: - SetOutPath "$INSTDIR\bin\Microsoft.VC80.CRT" - File "${VCLIBS_ROOT}\bin\Microsoft.VC80.CRT\*.*" + SetOutPath "$INSTDIR\bin\Microsoft.VC${MSVC_CRT}.CRT" + File "${VCLIBS_ROOT}\bin\Microsoft.VC${MSVC_CRT}.CRT\*.*" Goto done is_win2k: SetOutPath "$INSTDIR\bin" - File "${VCLIBS_ROOT}\bin\Microsoft.VC80.CRT\*.dll" + File "${VCLIBS_ROOT}\bin\Microsoft.VC${MSVC_CRT}.CRT\*.dll" Goto done done: SectionEnd @@ -549,9 +550,11 @@ SetOutPath $INSTDIR !insertmacro MUI_STARTMENU_WRITE_BEGIN Application WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" - CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Octave Home Page.lnk" "$INSTDIR\${PRODUCT_NAME}.url" + #CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Octave Home Page.lnk" "$INSTDIR\${PRODUCT_NAME}.url" + WriteIniStr "$SMPROGRAMS\$ICONS_GROUP\Octave Home Page.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" WriteIniStr "$INSTDIR\Octave-Forge.url" "InternetShortcut" "URL" "${OCTAVE_FORGE_WEB_SITE}" - CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Octave-Forge Home Page.lnk" "$INSTDIR\Octave-Forge.url" + #CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Octave-Forge Home Page.lnk" "$INSTDIR\Octave-Forge.url" + WriteIniStr "$SMPROGRAMS\$ICONS_GROUP\Octave-Forge Home Page.url" "InternetShortcut" "URL" "${OCTAVE_FORGE_WEB_SITE}" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" "$INSTDIR\uninst.exe" CreateDirectory "$SMPROGRAMS\$ICONS_GROUP\Documentation" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Documentation\README.lnk" "$INSTDIR\README.txt" @@ -613,7 +616,7 @@ !insertmacro MUI_DESCRIPTION_TEXT ${DOC_HTML} "" !insertmacro MUI_DESCRIPTION_TEXT ${DOC_PDF} "" !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LA_GEN} "" - !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LA_P4SSE2} "" + !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LA_P4SSE3} "" !ifdef ATLAS_PM !insertmacro MUI_DESCRIPTION_TEXT ${SEC_LA_PMSSE2} "" !endif @@ -636,18 +639,19 @@ FunctionEnd Function .onInit + Call CheckPrevVersion !insertmacro MUI_INSTALLOPTIONS_EXTRACT "atlascpu.ini" !insertmacro MUI_INSTALLOPTIONS_EXTRACT "graphics.ini" !insertmacro MUI_INSTALLOPTIONS_WRITE "atlascpu.ini" "Field 3" "ListItems" "${LA_ALL}" !insertmacro SetSectionFlag ${SEC_CORE} ${SF_RO} ;!insertmacro SetSectionFlag ${SEC_VC} ${SF_RO} !insertmacro SetSectionFlag ${SEC_LA_GEN} ${SF_RO} - !insertmacro SetSectionFlag ${SEC_LA_P4SSE2} ${SF_RO} + !insertmacro SetSectionFlag ${SEC_LA_P4SSE3} ${SF_RO} !ifdef ATLAS_PM !insertmacro SetSectionFlag ${SEC_LA_PMSSE2} ${SF_RO} !endif Call DetectWinVer - Call CheckMSVCR80 + Call CheckMSVCRT Pop $0 StrCmp $0 1 noruntime !insertmacro SetSectionFlag ${SEC_VC} ${SF_SELECTED} @@ -684,13 +688,13 @@ Function AtlasCpu !insertmacro MUI_HEADER_TEXT "CPU selection" "Choose the CPU type corresponding to your system." ReadRegStr $0 HKLM HARDWARE\DESCRIPTION\System\CentralProcessor\0 "ProcessorNameString" - StrCpy $1 10 + StrCpy $1 13 System::Call "kernel32::IsProcessorFeaturePresent(i) &i1 (r1) .r1" StrCmp $1 1 0 +4 - StrCpy $1 " (SSE2 detected)" + StrCpy $1 " (SSE3 detected)" !insertmacro MUI_INSTALLOPTIONS_WRITE "atlascpu.ini" "Field 3" "State" "${LA_P4}" Goto +2 - StrCpy $1 " (SSE2 not detected)" + StrCpy $1 " (SSE3 not detected)" !insertmacro MUI_INSTALLOPTIONS_WRITE "atlascpu.ini" "Field 2" "Text" "$0$1" !insertmacro MUI_INSTALLOPTIONS_DISPLAY "atlascpu.ini" FunctionEnd @@ -698,13 +702,13 @@ Function AtlasCpuEnd validate: !insertmacro ClearSectionFlag ${SEC_LA_GEN} ${SF_SELECTED} - !insertmacro ClearSectionFlag ${SEC_LA_P4SSE2} ${SF_SELECTED} + !insertmacro ClearSectionFlag ${SEC_LA_P4SSE3} ${SF_SELECTED} !ifdef ATLAS_PM !insertmacro ClearSectionFlag ${SEC_LA_PMSSE2} ${SF_SELECTED} !endif !insertmacro MUI_INSTALLOPTIONS_READ $0 "atlascpu.ini" "Field 3" "State" StrCmp $0 "${LA_GEN}" generic0 - StrCmp $0 "${LA_P4}" p4sse20 + StrCmp $0 "${LA_P4}" p4sse30 !ifdef ATLAS_PM StrCmp $0 "${LA_PM}" pmsse20 !endif @@ -712,8 +716,8 @@ generic0: !insertmacro SetSectionFlag ${SEC_LA_GEN} ${SF_SELECTED} Goto atlasend -p4sse20: - !insertmacro SetSectionFlag ${SEC_LA_P4SSE2} ${SF_SELECTED} +p4sse30: + !insertmacro SetSectionFlag ${SEC_LA_P4SSE3} ${SF_SELECTED} Goto atlasend !ifdef ATLAS_PM pmsse20: @@ -793,6 +797,8 @@ Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\Octave Home Page.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\Octave-Forge Home Page.lnk" + Delete "$SMPROGRAMS\$ICONS_GROUP\Octave Home Page.url" + Delete "$SMPROGRAMS\$ICONS_GROUP\Octave-Forge Home Page.url" ; Delete "$SMPROGRAMS\$ICONS_GROUP\Help.lnk" Delete "$DESKTOP\Octave.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\Octave.lnk" @@ -807,7 +813,7 @@ SetAutoClose true SectionEnd -Function CheckMSVCR80 +Function CheckMSVCRT Push $0 Push $1 Push $2 @@ -819,7 +825,7 @@ StrCmp $IS_WIN2K 1 done 0 loop: StrCmp $2 "" done - FindFirst $3 $4 "$WINDIR\WinSxS\$2\msvcr80.dll" + FindFirst $3 $4 "$WINDIR\WinSxS\$2\msvcr${MSVC_CRT}.dll" FindClose $3 StrCmp $4 "" 0 found FindNext $1 $2 @@ -836,6 +842,20 @@ Exch $0 FunctionEnd +Function CheckPrevVersion + Push $0 + IfFileExists "$INSTDIR\bin\octave-${OCTAVE_VERSION}.exe" 0 otherver + MessageBox MB_OK|MB_ICONSTOP "Another Octave installation (with the same version) has been detected.$\r$\nPlease uninstall it first." + Abort +otherver: + ReadRegStr $0 ${PRODUCT_ROOT_KEY} "${PRODUCT_KEY}" "Version" + IfErrors done + MessageBox MB_YESNO|MB_ICONEXCLAMATION "Another Octave installation (version $0) has been detected.$\r$\nIt is recommended to uninstall it if you intend to use the same installation directory.$\r$\nDo you want to proceed with the installation anyway?" IDYES done IDNO 0 + Abort +done: + Pop $0 +FunctionEnd + Function DetectAdmin Push $0 Push $1 Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-22 09:25:26 UTC (rev 5080) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-22 13:16:58 UTC (rev 5081) @@ -383,13 +383,16 @@ echo -n "checking for Visual Studio version... " clver=`cl -? 2>&1 | sed -n -e 's/.*Compiler Version \([0-9]\+\).*/\1/p'` crtver= +msvcver= case $clver in 14) crtver=80 + msvcver=2005 echo "2005" ;; 15) crtver=90 + msvcver=2008 echo "2008" echo -n "registering vcprojectengine.dll... " regsvr32 -s "`which vcprojectengine.dll`" @@ -586,6 +589,9 @@ if $do_octplot; then todo_check "$INSTALL_DIR/local/octave-$octave_version/share/octplot/oct/octplot.exe" octplot fi + if $do_gui; then + todo_check "$INSTALL_DIR/local/octave-$octave_version/bin/octavede.exe" OctaveDE + fi fi if test ! -z "$of_version"; then packages="$packages forge" @@ -1209,6 +1215,7 @@ rc -fo hdf5.res hdf5.rc && make && make install && + cp ../COPYING "$tlicdir/COPYING.HDF5" && rm -f $tlibdir_quoted/libhdf5.la fi) >&5 2>&1 && end_package remove_package "$DOWNLOAD_DIR/hdf5-$hdf5ver" @@ -3706,7 +3713,8 @@ 0) packdesc=`grep -e '^Name:' "$found/packinfo/DESCRIPTION" | sed -e 's/^Name *: *//'` packdesc_low=`echo $packdesc | sed -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` - packver=`grep -e '^Version:' "$found/packinfo/DESCRIPTION" | sed -e 's/^Version *: *//'` + #packver=`grep -e '^Version:' "$found/packinfo/DESCRIPTION" | sed -e 's/^Version *: *//'` + packver=`basename "$found" | sed -e "s/$packname-//"` packinstdir=$packdesc_low-$packver if $isolated; then flag_="/o" @@ -3879,7 +3887,9 @@ if test ! -f "$release_dir/octave-$octave_version-setup.exe"; then if test ! -f "README.txt"; then echo -n "creating README.txt... " - sed -e "s/@OCTAVE_VERSION@/$octave_version/" README.txt.in > README.txt + sed -e "s/@OCTAVE_VERSION@/$octave_version/" \ + -e "s/@MSVC_VER@/$msvcver/" \ + README.txt.in > README.txt sed -e '$d' "$INSTALL_DIR/local/octave-$octave_version/doc/NEWS" >> README.txt unix2dos README.txt echo "done" @@ -3902,6 +3912,7 @@ -e "s/@MSYS_ROOT@/$msys_root/" -e "s/@JHANDLES_VERSION@/$jhandles_version/" \ -e "s/@SOFTWARE_ROOT@/$software_root/" -e "s/@HAVE_OCTPLOT@/$octplot_prefix/" \ -e "s/@HAVE_GUI@/$gui_prefix/" -e "s/@HAVE_PLAYREC@/$playrec_prefix/" \ + -e "s/@MSVC_CRT@/$crtver/" \ octave.nsi.in > octave_main.nsi echo "done" fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2008-05-22 15:00:54
|
Revision: 5082 http://octave.svn.sourceforge.net/octave/?rev=5082&view=rev Author: goffioul Date: 2008-05-22 08:01:00 -0700 (Thu, 22 May 2008) Log Message: ----------- Add helper program to detect SSE3 on Windows XP Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/octave.nsi.in trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Added Paths: ----------- trunk/octave-forge/admin/Windows/msvc/check_cpu_flag.c Added: trunk/octave-forge/admin/Windows/msvc/check_cpu_flag.c =================================================================== --- trunk/octave-forge/admin/Windows/msvc/check_cpu_flag.c (rev 0) +++ trunk/octave-forge/admin/Windows/msvc/check_cpu_flag.c 2008-05-22 15:01:00 UTC (rev 5082) @@ -0,0 +1,53 @@ +#include <string.h> +#include <windows.h> + +int WinMain (HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR cmdLine, int nShow) +{ + int d, c, i, verbose = 0; + int dm, cm; + int result, argc; + LPWSTR *argv; + + argv = CommandLineToArgvW (GetCommandLineW (), &argc); + + if (argv == NULL) + { + MessageBox (NULL, "Cannot parse command arguments", "Error", MB_OK|MB_ICONSTOP); + return -1; + } + + if (argc < 2) + { + MessageBox (NULL, "Missing argument", "Error", MB_OK|MB_ICONSTOP); + return -1; + } + + __asm { + mov eax, 0x00000001 + cpuid + mov d, edx + mov c, ecx + } + + dm = cm = 0; + + for (i = 1; i < argc; i++) + if (wcscmp (argv[i], L"mmx") == 0) + dm |= (1 << 23); + else if (wcscmp (argv[i], L"sse") == 0) + dm |= (1 << 25); + else if (wcscmp (argv[i], L"sse2") == 0) + dm |= (1 << 26); + else if (wcscmp (argv[i], L"sse3") == 0) + cm |= (1 << 0); + else if (wcscmp (argv[i], L"-v") == 0) + verbose = 1; + else + MessageBoxW (NULL, argv[i], L"Error", MB_OK|MB_ICONSTOP); + + result = ((d & dm) | (c & cm)); + if (verbose) + MessageBox (NULL, (result ? "Features supported" : "Features not supported"), "CPU check", MB_OK|MB_ICONINFORMATION); + + return (result ? 0 : 1); +} Modified: trunk/octave-forge/admin/Windows/msvc/octave.nsi.in =================================================================== --- trunk/octave-forge/admin/Windows/msvc/octave.nsi.in 2008-05-22 13:16:58 UTC (rev 5081) +++ trunk/octave-forge/admin/Windows/msvc/octave.nsi.in 2008-05-22 15:01:00 UTC (rev 5082) @@ -640,6 +640,8 @@ Function .onInit Call CheckPrevVersion + InitPluginsDir + File "/oname=$PLUGINSDIR\check_cpu_flag.exe" "check_cpu_flag.exe" !insertmacro MUI_INSTALLOPTIONS_EXTRACT "atlascpu.ini" !insertmacro MUI_INSTALLOPTIONS_EXTRACT "graphics.ini" !insertmacro MUI_INSTALLOPTIONS_WRITE "atlascpu.ini" "Field 3" "ListItems" "${LA_ALL}" @@ -685,12 +687,36 @@ endadmin: FunctionEnd +!macro CheckCPUFlag flag + Push ${flag} + Call CheckCPUFlag +!macroend + +Function CheckCPUFlag + Exch $0 + ExecWait "$PLUGINSDIR\check_cpu_flag.exe $0" $0 + IntOp $0 $0 ! + Exch $0 +FunctionEnd + +!macro CheckCPUFeature flag + Push ${flag} + Call CheckCPUFeature +!macroend + +Function CheckCPUFeature + Exch $1 + System::Call "kernel32::IsProcessorFeaturePresent(i) &i1 (r1) .r1" + Exch $1 +FunctionEnd + Function AtlasCpu !insertmacro MUI_HEADER_TEXT "CPU selection" "Choose the CPU type corresponding to your system." ReadRegStr $0 HKLM HARDWARE\DESCRIPTION\System\CentralProcessor\0 "ProcessorNameString" - StrCpy $1 13 - System::Call "kernel32::IsProcessorFeaturePresent(i) &i1 (r1) .r1" - StrCmp $1 1 0 +4 + #!insertmacro CheckCPUFeature 13 + !insertmacro CheckCPUFlag "sse3" + Pop $1 + StrCmp $1 0 +4 0 StrCpy $1 " (SSE3 detected)" !insertmacro MUI_INSTALLOPTIONS_WRITE "atlascpu.ini" "Field 3" "State" "${LA_P4}" Goto +2 @@ -853,6 +879,7 @@ MessageBox MB_YESNO|MB_ICONEXCLAMATION "Another Octave installation (version $0) has been detected.$\r$\nIt is recommended to uninstall it if you intend to use the same installation directory.$\r$\nDo you want to proceed with the installation anyway?" IDYES done IDNO 0 Abort done: + ClearErrors Pop $0 FunctionEnd Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-22 13:16:58 UTC (rev 5081) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-22 15:01:00 UTC (rev 5082) @@ -3953,6 +3953,10 @@ create_nsi_entries "$nonfree_pkgs" "" 1 >> octave_forge_desc.nsi echo "done" fi + if test ! -f "check_cpu_flag.exe"; then + echo -n "creating CPU feature helper program... " + cc-msvc -O2 -MT check_cpu_flag.c -luser32 -lshell32 + fi if test ! -f "$release_dir/octave-$octave_version-setup.exe"; then echo -n "creating installer for octave... " $NSI_DIR/makensis.exe octave_main.nsi @@ -3965,7 +3969,7 @@ fi fi if $do_nsiclean; then - rm -f octave_main.nsi octave_forge*.nsi README.txt + rm -f octave_main.nsi octave_forge*.nsi README.txt check_cpu_flag.exe check_cpu_flag.obj fi fi fi This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gof...@us...> - 2008-05-23 14:17:34
|
Revision: 5083 http://octave.svn.sourceforge.net/octave/?rev=5083&view=rev Author: goffioul Date: 2008-05-23 07:17:32 -0700 (Fri, 23 May 2008) Log Message: ----------- Compile SSE1 and SSE2 versions of ATLAS Modified Paths: -------------- trunk/octave-forge/admin/Windows/msvc/check_cpu_flag.c trunk/octave-forge/admin/Windows/msvc/run_compilation.sh Modified: trunk/octave-forge/admin/Windows/msvc/check_cpu_flag.c =================================================================== --- trunk/octave-forge/admin/Windows/msvc/check_cpu_flag.c 2008-05-22 15:01:00 UTC (rev 5082) +++ trunk/octave-forge/admin/Windows/msvc/check_cpu_flag.c 2008-05-23 14:17:32 UTC (rev 5083) @@ -32,13 +32,14 @@ dm = cm = 0; for (i = 1; i < argc; i++) - if (wcscmp (argv[i], L"mmx") == 0) + if (wcsicmp (argv[i], L"mmx") == 0) dm |= (1 << 23); - else if (wcscmp (argv[i], L"sse") == 0) + else if (wcsicmp (argv[i], L"sse") == 0 + || wcsicmp (argv[i], L"sse1") == 0) dm |= (1 << 25); - else if (wcscmp (argv[i], L"sse2") == 0) + else if (wcsicmp (argv[i], L"sse2") == 0) dm |= (1 << 26); - else if (wcscmp (argv[i], L"sse3") == 0) + else if (wcsicmp (argv[i], L"sse3") == 0) cm |= (1 << 0); else if (wcscmp (argv[i], L"-v") == 0) verbose = 1; Modified: trunk/octave-forge/admin/Windows/msvc/run_compilation.sh =================================================================== --- trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-22 15:01:00 UTC (rev 5082) +++ trunk/octave-forge/admin/Windows/msvc/run_compilation.sh 2008-05-23 14:17:32 UTC (rev 5083) @@ -825,22 +825,30 @@ download_file atlas$atlver.tar.bz2 "http://downloads.sourceforge.net/math-atlas/atlas$atlver.tar.bz2?big_mirror=0" echo -n "decompressing ATLAS... " unpack_file atlas$atlver.tar.bz2 + cp check_cpu_flag.c "$DOWNLOAD_DIR/ATLAS" echo "done" - echo -n "compiling ATLAS... (version $atlver)" + echo "compiling ATLAS... (version $atlver)" (cd "$DOWNLOAD_DIR/ATLAS" && - mkdir atlbuild && cd atlbuild && - start "//wait" "$CYGWIN_DIR/bin/bash.exe" --login \ - -c "cd `pwd -W | sed -e 's,/,\\\\\\\\\\\\\\\\,g'` && ../configure -Si nocygwin 1" && - atlarch=`sed -n -e 's/ *ARCH = \(.*\)$/\1/p' Make.inc` && - start "//wait" "$CYGWIN_DIR/bin/bash.exe" --login \ - -c "cd `pwd -W | sed -e 's,/,\\\\\\\\\\\\\\\\,g'` && make build" && - cd lib && - cc-msvc -shared -o libblas.dll -Wl,-def:$tdir_w32_forward/lib/atl_blas.def \ - -Wl,-implib:blas.lib libatlas.a libcblas.a libf77blas.a -lf2c && - cc-msvc -shared -o liblapack.dll -Wl,-def:$tdir_w32_forward/lib/lapack.def \ - -Wl,-implib:lapack.lib liblapack.a -lliblapack_f77 -L. -lblas -lf2c && - cp libblas.dll "$tbindir/libblas_atl${atlnum}_$atlarch.dll" && - cp liblapack.dll "$tbindir/liblapack_atl${atlnum}_$atlarch.dll") >&5 2>&1 + cc-msvc -O2 -MT check_cpu_flag.c -luser32 -lshell32 && + SSE1=16 && SSE2=24 && SSE3=28 && + for arch in SSE1 SSE2 SSE3; do + if check_cpu_flag $arch; then + echo "compiling ATLAS for $arch..." + (mkdir -p build_$arch && cd build_$arch && + start "//wait" "$CYGWIN_DIR/bin/bash.exe" --login \ + -c "cd `pwd -W | sed -e 's,/,\\\\\\\\\\\\\\\\,g'` && ../configure -V ${!arch} -Si nocygwin 1" && + atlarch=`sed -n -e 's/ *ARCH = \(.*\)$/\1/p' Make.inc` && + start "//wait" "$CYGWIN_DIR/bin/bash.exe" --login \ + -c "cd `pwd -W | sed -e 's,/,\\\\\\\\\\\\\\\\,g'` && make build" && + cd lib && + cc-msvc -shared -o libblas.dll -Wl,-def:$tdir_w32_forward/lib/atl_blas.def \ + -Wl,-implib:blas.lib libatlas.a libcblas.a libf77blas.a -lf2c && + cc-msvc -shared -o liblapack.dll -Wl,-def:$tdir_w32_forward/lib/lapack.def \ + -Wl,-implib:lapack.lib liblapack.a -lliblapack_f77 -L. -lblas -lf2c && + cp libblas.dll "$tbindir/libblas_atl${atlnum}_$atlarch.dll" && + cp liblapack.dll "$tbindir/liblapack_atl${atlnum}_$atlarch.dll") || break + fi + done) >&5 2>&1 else download_file atlas-3.6.0.tar.gz 'http://downloads.sourceforge.net/math-atlas/atlas3.6.0.tar.gz?modtime=1072051200&big_mirror=0' echo -n "decompressing ATLAS... " This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |