From 18193c9635a5f2e926b4faf6d153e42ee7b367f8 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 21 Jul 2014 08:37:44 +0200 Subject: Add WIX files for XSD .msi package --- wix/README.txt | 101 +++++++ wix/bitmaps/excl.ico | Bin 0 -> 766 bytes wix/bitmaps/info.ico | Bin 0 -> 1078 bytes wix/bitmaps/left.bmp | Bin 0 -> 79246 bytes wix/bitmaps/new.ico | Bin 0 -> 318 bytes wix/bitmaps/top.bmp | Bin 0 -> 85894 bytes wix/bitmaps/up.ico | Bin 0 -> 318 bytes wix/config.make | 14 + wix/filelist.pl | 186 +++++++++++++ wix/license.rtf | 471 ++++++++++++++++++++++++++++++++ wix/makefile | 65 +++++ wix/xsd.wxs | 757 +++++++++++++++++++++++++++++++++++++++++++++++++++ 12 files changed, 1594 insertions(+) create mode 100644 wix/README.txt create mode 100644 wix/bitmaps/excl.ico create mode 100644 wix/bitmaps/info.ico create mode 100644 wix/bitmaps/left.bmp create mode 100644 wix/bitmaps/new.ico create mode 100644 wix/bitmaps/top.bmp create mode 100644 wix/bitmaps/up.ico create mode 100644 wix/config.make create mode 100755 wix/filelist.pl create mode 100644 wix/license.rtf create mode 100644 wix/makefile create mode 100644 wix/xsd.wxs diff --git a/wix/README.txt b/wix/README.txt new file mode 100644 index 0000000..c92af37 --- /dev/null +++ b/wix/README.txt @@ -0,0 +1,101 @@ +This package contains precompiled binaries of CodeSynthesis XSD, a +W3C XML Schema to C++ Data Binding compiler, built for Microsoft +Windows. For more information about XSD visit: + +http://www.codesynthesis.com/products/xsd/ + +This README file describes how to start using XSD in the Microsoft +Windows environment with Visual Studio 2005 (8.0), Visual Studio +2008 (9.0), and Visual Studio 2010 (10.0), Visual Studio 2012 (11.0), +and Visual Studio 2013 (12.0). + + +Setting up Visual Studio IDE +============================ + +Before you can start building examples or your applications that use XSD +you need to set include, library and executable search paths in the Visual +Studio IDE. To accomplish this perform the following steps. Here we assume +that you have installed CodeSynthesis XSD into "C:\CodeSynthesis XSD". If +you have it installed in a different place, you will need to adjust the +paths shown below accordingly. + +Visual Studio 2005 (8.0) and Visual Studio 2008 (9.0) +----------------------------------------------------- + + In the Visual Studio IDE, select "Tools"/"Options"/"Projects and + Solution"/"VC++ Directories". + + Then, in the "Show directories for" field, select "Include files" and + create a new entry with the value "C:\CodeSynthesis XSD\include". + + After that, in the "Show directories for" field, select "Library files" + and create a new entry with the value "C:\CodeSynthesis XSD\lib". + + After that, in the "Show directories for" field, select "Executable files" + and create a new entry with the value "C:\CodeSynthesis XSD\bin". Make + sure it is the first line in the list of directories (use the "Up" + button to move the new entry up, if necessary). + + If you are building the 64-bit version of your application, repeat the + above steps while selecting x64 in the "Platform" drop-down list in the + VC++ Directories dialog. Specify "C:\CodeSynthesis XSD\lib64" for the + "Library files" entry and specify both "C:\CodeSynthesis XSD\bin64" and + "C:\CodeSynthesis XSD\bin" for the "Executable files" entry with bin64 + being the first line. + +Visual Studio 2010-2013 (10.0-12.0) +----------------------------------- + + 1. Open an existing or create a new C++ project (you can open one of + the example solutions that come with CodeSynthesis XSD). + + 2. Open the Property Manager view by selecting "View"->"Property + Manager" (or "View"->"Other Windows"->"Property Manager") menu + action. + + 3. Expand the property hierarchy for the project and find the + Microsoft.Cpp.Win32.user property sheet. + + 4. Right click on Microsoft.Cpp.Win32.user and select the "Properties" + menu action. + + 5. Select the VC++ Directories tab. + + 6. Add the "C:\CodeSynthesis XSD\include" path to the "Include + Directories" field (the paths are separated by a semicolon). + + 7. Add the "C:\CodeSynthesis XSD\lib" path to the "Library + Directories" field. + + 8. Add the "C:\CodeSynthesis XSD\bin" path to the "Executable + Directories" field and make sure it is the first path in the + the list of directories. + + 9. Click Ok to close the dialog and then click the Save button at the top + of the Property Manager view to save Microsoft.Cpp.Win32.user. + + If you are building the 64-bit version of your application, repeat + the above steps for the Microsoft.Cpp.x64.user property sheet. Enter + "C:\CodeSynthesis XSD\lib64" in the "Library Directories" field and + enter both "C:\CodeSynthesis XSD\bin64" and "C:\CodeSynthesis XSD\bin" + in the "Executable Directories" field with bin64 being the first path. + + 10. Restart the Visual Studio IDE. + + +Building Examples +================= + +Now you are ready to build XSD examples. Simply open one of the solution +files from the Start menu and select "Build". + + +Using XSD in Your Projects +========================== + +For various ways to integrate the XSD compiler with the Visual Studio IDE +as well as other Visual Studio-specific topics, refer to the "Using XSD with +Microsoft Visual Studio" Wiki page: + +http://wiki.codesynthesis.com/Using_XSD_with_Microsoft_Visual_Studio diff --git a/wix/bitmaps/excl.ico b/wix/bitmaps/excl.ico new file mode 100644 index 0000000..906ce32 Binary files /dev/null and b/wix/bitmaps/excl.ico differ diff --git a/wix/bitmaps/info.ico b/wix/bitmaps/info.ico new file mode 100644 index 0000000..7e0ff7f Binary files /dev/null and b/wix/bitmaps/info.ico differ diff --git a/wix/bitmaps/left.bmp b/wix/bitmaps/left.bmp new file mode 100644 index 0000000..bcbd5ed Binary files /dev/null and b/wix/bitmaps/left.bmp differ diff --git a/wix/bitmaps/new.ico b/wix/bitmaps/new.ico new file mode 100644 index 0000000..27881df Binary files /dev/null and b/wix/bitmaps/new.ico differ diff --git a/wix/bitmaps/top.bmp b/wix/bitmaps/top.bmp new file mode 100644 index 0000000..0b21630 Binary files /dev/null and b/wix/bitmaps/top.bmp differ diff --git a/wix/bitmaps/up.ico b/wix/bitmaps/up.ico new file mode 100644 index 0000000..86f6b5a Binary files /dev/null and b/wix/bitmaps/up.ico differ diff --git a/wix/config.make b/wix/config.make new file mode 100644 index 0000000..43cfcb8 --- /dev/null +++ b/wix/config.make @@ -0,0 +1,14 @@ +# Hardcoded version numbers in xsd.wsx: +# +# xerces_c_3_1_1_doc_html_index_html_file +# +XSD_VERSION := 4.0.0 +XERCES_VERSION := 3.1.1 + +# Change with each major/minor version change (e.g., 2.3.1 to 2.4.0). +# +PRODUCT_CODE := 5BB83ECA-7A53-41F5-9821-639F79C2D969 + +# Change with each major/minor version change (e.g., 2.3.1 to 2.4.0). +# +UPGRADE_CODE := FA42588E-3F21-4F31-90C0-E17FF22660AB diff --git a/wix/filelist.pl b/wix/filelist.pl new file mode 100755 index 0000000..1a83109 --- /dev/null +++ b/wix/filelist.pl @@ -0,0 +1,186 @@ +#!/usr/bin/perl -w + +use Fcntl; +use File::Find; +use File::Basename; +use Getopt::Long; + + +# Options +# +$usage = "usage: filelist.pl " . + "-out " . + "-dir " . + "-ref-id " . + "-comp-id " . + "[-ignore ] " . + "[-prefix ]"; + +$out = ""; +$dir = ""; +$ref_id = ""; +$comp_id = ""; +$prefix = ""; + +@ignore = (); + +GetOptions ("out=s" => \$out, + "dir=s" => \$dir, + "ref-id=s" => \$ref_id, + "comp-id=s" => \$comp_id, + "ignore=s@" => \@ignore, + "prefix=s" => \$prefix); + +die "$usage\n" unless ($out ne "" && + $dir ne "" && + $ref_id ne "" && + $comp_id ne ""); + +# +# +%ids = (); +@components = (); + +sysopen (OUT, $out, O_WRONLY | O_CREAT | O_TRUNC) || + die "unable to create $out: $!"; + +print (OUT "\n"); +print (OUT "\n"); +print (OUT "\n\n"); + +# Directories and components. +# +print (OUT "\n"); + +traverse ($dir, $prefix ne "" ? "$prefix/$dir" : $dir); + +print (OUT "\n\n"); + +# Component group. +# +print (OUT "\n"); + +for $comp (@components) +{ + print (OUT "\n"); +} + +print (OUT "\n\n"); + +print (OUT "\n"); +print (OUT "\n"); +close (OUT) || die "unable to close $out: $!"; + + + +# +# +sub traverse +{ + my $short_path = shift; + my $full_path = shift; + + my @files = (); + my @dirs = (); + + opendir (DIR, $full_path) or die "unable to open $full_path: $!"; + + while (defined ($file = readdir (DIR))) + { + next if $file =~ /^\.\.?$/; # skip . and .. + + my $path = "$full_path/$file"; + + + if (-d $path) + { + push @dirs, ($file); + } + elsif (-f $path) + { + my $n = grep $_ eq $file, @ignore; + if (!$n) + { + push @files, ($file); + } + } + else + { + die "unknown directory entity: $file in $full_path"; + } + } + + closedir (DIR); + + gen_component ($short_path, $full_path, @files); + + for $d (@dirs) + { + print (OUT "\n"); + traverse ("$short_path/$d", "$full_path/$d"); + print (OUT "\n"); + } +} + +sub gen_component +{ + my $short_path = shift; + my $full_path = shift; + my @files = @_; + + if (scalar (@files) > 0) + { + my $guid = trim (uc (`uuidgen`)); + my $cid = id ("$short_path-comp"); + print (OUT "\n"); + + for $file (@files) + { + print (OUT "\n"); + } + + print (OUT "\n"); + push @components, ($cid); + } +} + +sub id +{ + my $str = shift; + $str =~ s/[-\\\/.+~]/_/g; + + # Ids cannot be longer than 72. Instead we will make it 69 and + # reserve three elements for disambiguing. + # + if (length ($str) > 69) + { + $str = substr ($str, 0, 69); + } + + my $n = 1; + my $base = $str; + + while (exists ($ids{$str})) + { + if ($n > 999) + { + die "unable to make a unique id for $base\n"; + } + + $str = "$base$n"; + $n++; + } + + $ids{$str} = undef; + + return $str; +} + +# Perl trim function to remove whitespace from the start and end of the string +sub trim($) +{ + my $string = shift; + $string =~ s/^\s+//; + $string =~ s/\s+$//; + return $string; +} diff --git a/wix/license.rtf b/wix/license.rtf new file mode 100644 index 0000000..0d8bf91 --- /dev/null +++ b/wix/license.rtf @@ -0,0 +1,471 @@ +{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}} +{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\f0\fs16\par +Copyright (c) 2005-2014 \par +\tab Code Synthesis Tools CC. All rights reserved.\par +\par +This program is free software; you can redistribute it and/or modify\par +it under the terms of the GNU General Public License version 2 as\par +published by the Free Software Foundation.\par +\par +This program is distributed in the hope that it will be useful,\par +but WITHOUT ANY WARRANTY; without even the implied warranty of\par +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\par +GNU General Public License below for details.\par +\par +You should have received a copy of the GNU General Public License\par +along with this program; if not, write to the Free Software\par +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\par +\par +In addition, as a special exception, Code Synthesis Tools CC gives\par +permission to link this program with the Xerces-C++ library (or with\par +modified versions of Xerces-C++ that use the same license as Xerces-C++),\par +and distribute linked combinations including the two. You must obey\par +the GNU General Public License version 2 in all respects for all of\par +the code used other than Xerces-C++. If you modify this copy of the\par +program, you may extend this exception to your version of the program,\par +but you are not obligated to do so. If you do not wish to do so, delete\par +this exception statement from your version.\par +\par +In addition, Code Synthesis Tools CC makes a special exception for\par +the Free/Libre and Open Source Software (FLOSS) which is described\par +below.\par +\par +\par +---\par +\tab\tab GNU GENERAL PUBLIC LICENSE\par +\tab\tab Version 2, June 1991\par +\par + Copyright (C) 1989, 1991 Free Software Foundation, Inc.\par + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\par + Everyone is permitted to copy and distribute verbatim copies\par + of this license document, but changing it is not allowed.\par +\par +\tab\tab\tab Preamble\par +\par + The licenses for most software are designed to take away your\par +freedom to share and change it. By contrast, the GNU General Public\par +License is intended to guarantee your freedom to share and change free\par +software--to make sure the software is free for all its users. This\par +General Public License applies to most of the Free Software\par +Foundation's software and to any other program whose authors commit to\par +using it. (Some other Free Software Foundation software is covered by\par +the GNU Library General Public License instead.) You can apply it to\par +your programs, too.\par +\par + When we speak of free software, we are referring to freedom, not\par +price. Our General Public Licenses are designed to make sure that you\par +have the freedom to distribute copies of free software (and charge for\par +this service if you wish), that you receive source code or can get it\par +if you want it, that you can change the software or use pieces of it\par +in new free programs; and that you know you can do these things.\par +\par + To protect your rights, we need to make restrictions that forbid\par +anyone to deny you these rights or to ask you to surrender the rights.\par +These restrictions translate to certain responsibilities for you if you\par +distribute copies of the software, or if you modify it.\par +\par + For example, if you distribute copies of such a program, whether\par +gratis or for a fee, you must give the recipients all the rights that\par +you have. You must make sure that they, too, receive or can get the\par +source code. And you must show them these terms so they know their\par +rights.\par +\par + We protect your rights with two steps: (1) copyright the software, and\par +(2) offer you this license which gives you legal permission to copy,\par +distribute and/or modify the software.\par +\par + Also, for each author's protection and ours, we want to make certain\par +that everyone understands that there is no warranty for this free\par +software. If the software is modified by someone else and passed on, we\par +want its recipients to know that what they have is not the original, so\par +that any problems introduced by others will not reflect on the original\par +authors' reputations.\par +\par + Finally, any free program is threatened constantly by software\par +patents. We wish to avoid the danger that redistributors of a free\par +program will individually obtain patent licenses, in effect making the\par +program proprietary. To prevent this, we have made it clear that any\par +patent must be licensed for everyone's free use or not licensed at all.\par +\par + The precise terms and conditions for copying, distribution and\par +modification follow.\par +\page\par +\tab\tab GNU GENERAL PUBLIC LICENSE\par + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\par +\par + 0. This License applies to any program or other work which contains\par +a notice placed by the copyright holder saying it may be distributed\par +under the terms of this General Public License. The "Program", below,\par +refers to any such program or work, and a "work based on the Program"\par +means either the Program or any derivative work under copyright law:\par +that is to say, a work containing the Program or a portion of it,\par +either verbatim or with modifications and/or translated into another\par +language. (Hereinafter, translation is included without limitation in\par +the term "modification".) Each licensee is addressed as "you".\par +\par +Activities other than copying, distribution and modification are not\par +covered by this License; they are outside its scope. The act of\par +running the Program is not restricted, and the output from the Program\par +is covered only if its contents constitute a work based on the\par +Program (independent of having been made by running the Program).\par +Whether that is true depends on what the Program does.\par +\par + 1. You may copy and distribute verbatim copies of the Program's\par +source code as you receive it, in any medium, provided that you\par +conspicuously and appropriately publish on each copy an appropriate\par +copyright notice and disclaimer of warranty; keep intact all the\par +notices that refer to this License and to the absence of any warranty;\par +and give any other recipients of the Program a copy of this License\par +along with the Program.\par +\par +You may charge a fee for the physical act of transferring a copy, and\par +you may at your option offer warranty protection in exchange for a fee.\par +\par + 2. You may modify your copy or copies of the Program or any portion\par +of it, thus forming a work based on the Program, and copy and\par +distribute such modifications or work under the terms of Section 1\par +above, provided that you also meet all of these conditions:\par +\par + a) You must cause the modified files to carry prominent notices\par + stating that you changed the files and the date of any change.\par +\par + b) You must cause any work that you distribute or publish, that in\par + whole or in part contains or is derived from the Program or any\par + part thereof, to be licensed as a whole at no charge to all third\par + parties under the terms of this License.\par +\par + c) If the modified program normally reads commands interactively\par + when run, you must cause it, when started running for such\par + interactive use in the most ordinary way, to print or display an\par + announcement including an appropriate copyright notice and a\par + notice that there is no warranty (or else, saying that you provide\par + a warranty) and that users may redistribute the program under\par + these conditions, and telling the user how to view a copy of this\par + License. (Exception: if the Program itself is interactive but\par + does not normally print such an announcement, your work based on\par + the Program is not required to print an announcement.)\par +\page\par +These requirements apply to the modified work as a whole. If\par +identifiable sections of that work are not derived from the Program,\par +and can be reasonably considered independent and separate works in\par +themselves, then this License, and its terms, do not apply to those\par +sections when you distribute them as separate works. But when you\par +distribute the same sections as part of a whole which is a work based\par +on the Program, the distribution of the whole must be on the terms of\par +this License, whose permissions for other licensees extend to the\par +entire whole, and thus to each and every part regardless of who wrote it.\par +\par +Thus, it is not the intent of this section to claim rights or contest\par +your rights to work written entirely by you; rather, the intent is to\par +exercise the right to control the distribution of derivative or\par +collective works based on the Program.\par +\par +In addition, mere aggregation of another work not based on the Program\par +with the Program (or with a work based on the Program) on a volume of\par +a storage or distribution medium does not bring the other work under\par +the scope of this License.\par +\par + 3. You may copy and distribute the Program (or a work based on it,\par +under Section 2) in object code or executable form under the terms of\par +Sections 1 and 2 above provided that you also do one of the following:\par +\par + a) Accompany it with the complete corresponding machine-readable\par + source code, which must be distributed under the terms of Sections\par + 1 and 2 above on a medium customarily used for software interchange; or,\par +\par + b) Accompany it with a written offer, valid for at least three\par + years, to give any third party, for a charge no more than your\par + cost of physically performing source distribution, a complete\par + machine-readable copy of the corresponding source code, to be\par + distributed under the terms of Sections 1 and 2 above on a medium\par + customarily used for software interchange; or,\par +\par + c) Accompany it with the information you received as to the offer\par + to distribute corresponding source code. (This alternative is\par + allowed only for noncommercial distribution and only if you\par + received the program in object code or executable form with such\par + an offer, in accord with Subsection b above.)\par +\par +The source code for a work means the preferred form of the work for\par +making modifications to it. For an executable work, complete source\par +code means all the source code for all modules it contains, plus any\par +associated interface definition files, plus the scripts used to\par +control compilation and installation of the executable. However, as a\par +special exception, the source code distributed need not include\par +anything that is normally distributed (in either source or binary\par +form) with the major components (compiler, kernel, and so on) of the\par +operating system on which the executable runs, unless that component\par +itself accompanies the executable.\par +\par +If distribution of executable or object code is made by offering\par +access to copy from a designated place, then offering equivalent\par +access to copy the source code from the same place counts as\par +distribution of the source code, even though third parties are not\par +compelled to copy the source along with the object code.\par +\page\par + 4. You may not copy, modify, sublicense, or distribute the Program\par +except as expressly provided under this License. Any attempt\par +otherwise to copy, modify, sublicense or distribute the Program is\par +void, and will automatically terminate your rights under this License.\par +However, parties who have received copies, or rights, from you under\par +this License will not have their licenses terminated so long as such\par +parties remain in full compliance.\par +\par + 5. You are not required to accept this License, since you have not\par +signed it. However, nothing else grants you permission to modify or\par +distribute the Program or its derivative works. These actions are\par +prohibited by law if you do not accept this License. Therefore, by\par +modifying or distributing the Program (or any work based on the\par +Program), you indicate your acceptance of this License to do so, and\par +all its terms and conditions for copying, distributing or modifying\par +the Program or works based on it.\par +\par + 6. Each time you redistribute the Program (or any work based on the\par +Program), the recipient automatically receives a license from the\par +original licensor to copy, distribute or modify the Program subject to\par +these terms and conditions. You may not impose any further\par +restrictions on the recipients' exercise of the rights granted herein.\par +You are not responsible for enforcing compliance by third parties to\par +this License.\par +\par + 7. If, as a consequence of a court judgment or allegation of patent\par +infringement or for any other reason (not limited to patent issues),\par +conditions are imposed on you (whether by court order, agreement or\par +otherwise) that contradict the conditions of this License, they do not\par +excuse you from the conditions of this License. If you cannot\par +distribute so as to satisfy simultaneously your obligations under this\par +License and any other pertinent obligations, then as a consequence you\par +may not distribute the Program at all. For example, if a patent\par +license would not permit royalty-free redistribution of the Program by\par +all those who receive copies directly or indirectly through you, then\par +the only way you could satisfy both it and this License would be to\par +refrain entirely from distribution of the Program.\par +\par +If any portion of this section is held invalid or unenforceable under\par +any particular circumstance, the balance of the section is intended to\par +apply and the section as a whole is intended to apply in other\par +circumstances.\par +\par +It is not the purpose of this section to induce you to infringe any\par +patents or other property right claims or to contest validity of any\par +such claims; this section has the sole purpose of protecting the\par +integrity of the free software distribution system, which is\par +implemented by public license practices. Many people have made\par +generous contributions to the wide range of software distributed\par +through that system in reliance on consistent application of that\par +system; it is up to the author/donor to decide if he or she is willing\par +to distribute software through any other system and a licensee cannot\par +impose that choice.\par +\par +This section is intended to make thoroughly clear what is believed to\par +be a consequence of the rest of this License.\par +\page\par + 8. If the distribution and/or use of the Program is restricted in\par +certain countries either by patents or by copyrighted interfaces, the\par +original copyright holder who places the Program under this License\par +may add an explicit geographical distribution limitation excluding\par +those countries, so that distribution is permitted only in or among\par +countries not thus excluded. In such case, this License incorporates\par +the limitation as if written in the body of this License.\par +\par + 9. The Free Software Foundation may publish revised and/or new versions\par +of the General Public License from time to time. Such new versions will\par +be similar in spirit to the present version, but may differ in detail to\par +address new problems or concerns.\par +\par +Each version is given a distinguishing version number. If the Program\par +specifies a version number of this License which applies to it and "any\par +later version", you have the option of following the terms and conditions\par +either of that version or of any later version published by the Free\par +Software Foundation. If the Program does not specify a version number of\par +this License, you may choose any version ever published by the Free Software\par +Foundation.\par +\par + 10. If you wish to incorporate parts of the Program into other free\par +programs whose distribution conditions are different, write to the author\par +to ask for permission. For software which is copyrighted by the Free\par +Software Foundation, write to the Free Software Foundation; we sometimes\par +make exceptions for this. Our decision will be guided by the two goals\par +of preserving the free status of all derivatives of our free software and\par +of promoting the sharing and reuse of software generally.\par +\par +\tab\tab\tab NO WARRANTY\par +\par + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\par +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN\par +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\par +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\par +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\par +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS\par +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE\par +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\par +REPAIR OR CORRECTION.\par +\par + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\par +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\par +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\par +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\par +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\par +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\par +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\par +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\par +POSSIBILITY OF SUCH DAMAGES.\par +\par +\tab\tab END OF TERMS AND CONDITIONS\par +\page\par +\tab How to Apply These Terms to Your New Programs\par +\par + If you develop a new program, and you want it to be of the greatest\par +possible use to the public, the best way to achieve this is to make it\par +free software which everyone can redistribute and change under these terms.\par +\par + To do so, attach the following notices to the program. It is safest\par +to attach them to the start of each source file to most effectively\par +convey the exclusion of warranty; and each file should have at least\par +the "copyright" line and a pointer to where the full notice is found.\par +\par + \par + Copyright (C) \par +\par + This program is free software; you can redistribute it and/or modify\par + it under the terms of the GNU General Public License as published by\par + the Free Software Foundation; either version 2 of the License, or\par + (at your option) any later version.\par +\par + This program is distributed in the hope that it will be useful,\par + but WITHOUT ANY WARRANTY; without even the implied warranty of\par + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\par + GNU General Public License for more details.\par +\par + You should have received a copy of the GNU General Public License\par + along with this program; if not, write to the Free Software\par + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\par +\par +\par +Also add information on how to contact you by electronic and paper mail.\par +\par +If the program is interactive, make it output a short notice like this\par +when it starts in an interactive mode:\par +\par + Gnomovision version 69, Copyright (C) year name of author\par + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\par + This is free software, and you are welcome to redistribute it\par + under certain conditions; type `show c' for details.\par +\par +The hypothetical commands `show w' and `show c' should show the appropriate\par +parts of the General Public License. Of course, the commands you use may\par +be called something other than `show w' and `show c'; they could even be\par +mouse-clicks or menu items--whatever suits your program.\par +\par +You should also get your employer (if you work as a programmer) or your\par +school, if any, to sign a "copyright disclaimer" for the program, if\par +necessary. Here is a sample; alter the names:\par +\par + Yoyodyne, Inc., hereby disclaims all copyright interest in the program\par + `Gnomovision' (which makes passes at compilers) written by James Hacker.\par +\par + , 1 April 1989\par + Ty Coon, President of Vice\par +\par +This General Public License does not permit incorporating your program into\par +proprietary programs. If your program is a subroutine library, you may\par +consider it more useful to permit linking proprietary applications with the\par +library. If this is what you want to do, use the GNU Library General\par +Public License instead of this License.\par +\par +\par +\par +---\par +\tab\tab Free/Libre and Open Source Software Exception (FLOSSE)\par +\par +1. Intent\par +\par +We want specified Free/Libre and Open Source Software ("FLOSS")\par +to be able to use the specified GPL-licensed xsd runtime library\par +and xsd generated code (collectively called the "Program") despite\par +the fact that not all FLOSS licenses are compatible with version 2\par +of the GNU General Public License (the "GPL").\par +\par +It is our intent to allow distribution of the entire Derivative\par +Work (including the Program) under one or more of the FLOSS licenses\par +listed in section 3 (section 2.a). It is also our intent to disallow\par +simple relicensing of the Program for the sole purpose of using it in\par +proprietary applications (section 2.b and 2.c). As an example, consider\par +two hypothetical scenarios:\par +\par + a) You created a program that uses the xsd generated code and the xsd\par + runtime library to access information in XML instance documents.\par + Your program performs useful computations based on this information\par + (sections 2.b and 2.c are satisfied). You distribute your program,\par + including the xsd generated code and the xsd runtime library under\par + the BSD license and make it available at no charge to all third\par + parties (section 2.a is satisfied). Later you (or someone else) may\par + choose to base their proprietary application on your code since the\par + BSD license does not prohibit it.\par +\par + This scenario falls under this FLOSS Exception.\par +\par + b) You created a library that uses the xsd generated code and the xsd\par + runtime library to access information in XML instance documents. You\par + did not add to the library any other useful code that uses the xsd\par + generated code or the xsd runtime library (neither section 2.b nor\par + 2.c is satisfied). You distribute your library, including the xsd\par + generated code and the xsd runtime library under the BSD license and\par + make it available at no charge to all third parties (section 2.a\par + is satisfied). Later you base your proprietary application on this\par + library since the BSD license does not prohibit it.\par +\par + This scenario does not fall under this FLOSS Exception (neither\par + section 2.b nor 2.c is satisfied). You created the library for the\par + sole purpose of making the xsd generated code and the xsd runtime\par + library available to your proprietary application.\par +\par +\par +2. Legal Terms and Conditions\par +\par +As a special exception to the terms and conditions of version 2 of\par +the GPL you are free to distribute a verbatim copy of the Program\par +as part of the Derivative Work that is formed from the Program or\par +any part thereof and one or more works (each, a "FLOSS Work") as\par +long as you also meet all of these conditions:\par +\par + a) You must cause the Derivative Work that in whole or in part\par + contains or is derived from the Program or any part thereof,\par + to be licensed as a whole at no charge to all third parties\par + under the terms of one or more of the licenses listed in\par + section 3.\par +\par + b) The Derivative Work should contain one or more FLOSS Work that\par + can be reasonably considered as derived from the Program or some\par + part thereof.\par +\par + c) The Derivative Work should not contain any part of the Program\par + that cannot be reasonably considered as a base of one or more\par + FLOSS Work.\par +\par +\par +3. FLOSS License List\par +\par + a) Any license listed in the "GPL-Compatible Free Software Licenses"\par + and the "GPL-Incompatible Free Software Licenses" sections of the\par + License List as published by the Free Software Foundation (FSF):\par +\par + http://www.gnu.org/licenses/license-list.html\par +\par +\par +4. Definitions\par +\par +Terms used, but not defined, herein shall have the meaning\par +provided in the GPL.\par +\par +Derivative Work means a derivative work under copyright law.\par +\par +\par +5. Applicability\par +\par +You may choose to redistribute a copy of the Program exclusively under\par +the terms of the GPL by removing the FLOSS Exception notice from that\par +copy of the Program.\par +\par +} + \ No newline at end of file diff --git a/wix/makefile b/wix/makefile new file mode 100644 index 0000000..8f81f6b --- /dev/null +++ b/wix/makefile @@ -0,0 +1,65 @@ +include config.make + +WIXROOT := ../../tools/wix-3.0 +LIGHT := $(WIXROOT)/light +CANDLE := $(WIXROOT)/candle +FILELIST := ./filelist.pl + +# +# +export XSD_VERSION +export XERCES_VERSION +export PRODUCT_CODE +export UPGRADE_CODE +export XSD_SERIES := $(word 1,$(subst ., ,$(XSD_VERSION))).$(word 2,$(subst ., ,$(XSD_VERSION))) +export XSD_DIST := ../xsd-i686-windows +export XERCES_DIST := ../../xerces-vc + + +# +# +LIGHT_FLAGS := -ext WixUIExtension -ext WixUtilExtension -cultures:en-us + +SRC := xsd.wxs +GEN := xsd-include.wxs examples.wxs doc.wxs etc.wxs xerces-include.wxs \ +xerces-src.wxs + + +# +# +xsd-$(XSD_SERIES).msi: $(SRC:.wxs=.wixobj) $(GEN:.wxs=.wixobj) license.rtf + $(LIGHT) $(LIGHT_FLAGS) -o $@ $(filter %.wixobj,$^) + +xsd-include.wxs: + $(FILELIST) -out $@ -dir xsd -ref-id INCLUDE_XSD -comp-id include_xsd -prefix $(XSD_DIST)/libxsd + +examples.wxs: + $(FILELIST) -out $@ -dir cxx -ref-id EXAMPLES_CXXDIR -comp-id examples -ignore makefile -prefix $(XSD_DIST)/examples + +doc.wxs: + $(FILELIST) -out $@ -dir doc -ref-id DOCDIR -comp-id doc -ignore makefile -ignore xsd.1 -prefix $(XSD_DIST) + +etc.wxs: + $(FILELIST) -out $@ -dir etc -ref-id ETCDIR -comp-id etc -prefix $(XSD_DIST) + +xerces-include.wxs: + $(FILELIST) -out $@ -dir xercesc -ref-id INCLUDE_XERCESCDIR -comp-id include_xerces -prefix $(XERCES_DIST)/include + +xerces-src.wxs: + $(FILELIST) -out $@ -dir xerces-c-$(XERCES_VERSION) -ref-id XERCESSRCDIR -comp-id src_xerces -prefix $(XERCES_DIST) + +# +# +.PHONY: clean realclean + +clean: + rm -f xsd-$(XSD_SERIES).msi $(SRC:.wxs=.wixobj) $(GEN:.wxs=.wixobj) + +realclean: clean + rm -f $(GEN) + + +# Pattern rules +# +%.wixobj: %.wxs + $(CANDLE) -o $@ $< diff --git a/wix/xsd.wxs b/wix/xsd.wxs new file mode 100644 index 0000000..c360056 --- /dev/null +++ b/wix/xsd.wxs @@ -0,0 +1,757 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + 1 + LicenseAccepted="1" AND SCOPE_INIT="0" AND NOT Privileged + LicenseAccepted="1" AND SCOPE_INIT="0" AND Privileged + LicenseAccepted="1" AND SCOPE_INIT="0" + LicenseAccepted = "1" + + 1 + 1 + SCOPE = "User" + SCOPE = "Machine" + CostingComplete = 1 + 1 + 1 + 1 + + NOT Installed + Installed + 1 + + 1 + 1 + + NOT Installed OR WixUI_InstallMode = "Change" + Installed + + 1 + + CostingComplete = 1 + 1 + 1 + 1 + 1 + + 1 + + NOT Installed AND SHOWREADME="1" + 1 + + + + + + + "1"]]> + LicenseAccepted = "1" + + + 1 + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + NOT Privileged + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + SETPATHENV = "1" AND SCOPE = "Machine" + SETPATHENV = "1" AND SCOPE = "User" + "1" OR SCOPE = "User"]]> + "1" OR SCOPE = "Machine"]]> + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NOT Installed + + + + + + + + + + + + + + + + + -- cgit v1.1