Ticket #239: xapdep.patch

File xapdep.patch, 46.3 KB (added by Charlie Hull, 15 years ago)

Patch makefiles to use xapdep not makedepend

  • ChangeLog

     
     1Tue Feb 16 14:19:05 GMT 2010  Charlie Hull <charlie@flax.co.uk>
     2
     3        * win32_tests.mak: remove some tests that no longer exist
     4        * Makefile,README,config.mak,makedepend/,win32_api.mak,
     5          win32_applications_omega.mak,win32_backends.mak,
     6          win32_backends_chert.mak,win32_backends_flint.mak,
     7          win32_backends_inmemory.mak,win32_backends_multi.mak,
     8          win32_backends_quartz.mak,win32_backends_remote.mak,win32_bin.mak,
     9          win32_common.mak,win32_examples.mak,win32_expand.mak,
     10          win32_getopt.mak,win32_languages_compiler.mak,win32_matcher.mak,
     11          win32_net.mak,win32_perftest.mak,win32_queryparser.mak,
     12          win32_tests.mak,win32_testsuite.mak,win32_unicode.mak,
     13          win32_weight.mak,xapdep/: Add Xapdep, and use this in conjunction
     14      with the compiler's -showIncludes switch to generate dependency
     15      information, and remove the old buggy makedepend tool.
     16
    117Fri Feb 12 04:42:19 GMT 2010  Olly Betts <olly@survex.com>
    218
    319        * win32_bindings_python.mak: Update for generate-python-exception.in
  • config.mak

     
    208208# make sure inference rules work with all source files
    209209.SUFFIXES : .cc .java
    210210
    211 # makedepend is a tool used to calculate header dependencies, we supply our own version
    212 DEPEND=makedepend.exe
    213 # set some flags that are set internally by the MSVC compiler - prevents some spurious warnings
    214 DEPEND_FLAGS=-D_MSC_VER=1300 -D__cplusplus -D_M_IX86
     211# xapdep is a tool to turn compiler output (using the -showIncludes option) into dependency lists
     212DEPEND=xapdep.exe
    215213
    216214# We build with the following compiler options:
    217215# /W3 Set warning level to 3
  • Makefile

     
    5151   cd ..\win32
    5252
    5353CLEAN: COPYMAKFILES
    54    cd makedepend
    55    nmake -f makedepend.mak CLEAN
     54   cd xapdep
     55   nmake -f xapdep.mak CLEAN
    5656   cd ..
    5757   cd ..\net
    5858   nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
     
    9090   -@erase ..\include\xapian\error.h
    9191   -@erase ..\include\xapian\errordispatch.h
    9292   if exist "$(XAPIAN_DEBUG_OR_RELEASE)" rmdir $(XAPIAN_DEBUG_OR_RELEASE)\ /s /q
    93    -@erase makedepend.exe
     93   -@erase xapdep.exe
    9494   echo All Win32 parts have been cleaned!
    9595
    9696DISTCLEAN: CLEAN
     
    138138   if exist $(XAPIAN_APPLICATIONS) copy config.h.omega.win32 $(XAPIAN_APPLICATIONS)\common\config.h
    139139
    140140# Test for tools that we MUST have   
    141 TESTFORTOOLS: makedepend.exe
     141TESTFORTOOLS: xapdep.exe
    142142# Perl is needed for header generation
    143143   if not exist $(PERL_EXE) exit(1)
    144144   
     
    183183..\include\xapian\version.h: version.h.in ..\configure.ac
    184184    $(PERL_EXE) genversion.pl ..\configure.ac version.h.in ..\include\xapian\version.h
    185185   
    186 makedepend.exe:
    187     cd makedepend
    188     nmake -f makedepend.mak
    189     copy makedepend.exe ..
     186xapdep.exe:
     187    cd xapdep
     188    nmake -f xapdep.mak
     189    copy xapdep.exe ..
    190190    cd ..
    191191
  • README

     
    11README for Xapian/Visual C++ Tools
    22==================================
    3 2009-03-26 for Xapian SVN HEAD
     32010-02-16 for Xapian SVN HEAD
    44
    55Make files, some extra headers and associated tools for compiling Xapian on
    66Win32 using the Microsoft Visual C++ compilers. This is particularly useful
     
    4646  not expect it to cause serious problems.
    4747
    4848- To get round the fact that MSVC doesn't do dependency checking correctly,
    49 we use an external program 'makedepend'.
     49we use an external program 'xapdep'. Each Makefile use the -showIncludes switch of the MSVC
     50compiler to generate a list of includes, which xapdep then processes and inserts
     51into the Makefile in the various subdirectories.
    5052
    5153TODOS
    5254=====
     
    125127  OR...
    126128
    127129- You can also compile with
    128 Visual C++ 2005 Express Edition available without cost from:
     130Visual C++ 2005/2008 Express Edition available without cost from:
    129131http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
    130132
    131133  OR...
  • win32_api.mak

     
    109109
    110110# Calculate any header dependencies and automatically insert them into this file
    111111HEADERS :
    112             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    113 # DO NOT DELETE THIS LINE -- make depend depends on it.
     112    -@erase deps.d
     113    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     114    if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
     115# DO NOT DELETE THIS LINE -- xapdep depends on it.
     116 No newline at end of file
  • win32_applications_omega.mak

     
    225225
    226226# Calculate any header dependencies and automatically insert them into this file
    227227HEADERS :
    228             if exist "$(XAPIAN_CORE_REL_OMEGA)\win32\$(DEPEND)" $(XAPIAN_CORE_REL_OMEGA)\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    229 # DO NOT DELETE THIS LINE -- make depend depends on it.
    230  No newline at end of file
     228    -@erase deps.d
     229    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     230    if exist "$(XAPIAN_CORE_REL_OMEGA)\win32\$(DEPEND)" $(XAPIAN_CORE_REL_OMEGA)\win32\$(DEPEND)
     231# DO NOT DELETE THIS LINE -- xapdep depends on it.
     232 No newline at end of file
  • win32_backends.mak

     
    121121
    122122# Calculate any header dependencies and automatically insert them into this file
    123123HEADERS :
    124             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    125 # DO NOT DELETE THIS LINE -- make depend depends on it.
     124    -@erase deps.d
     125    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     126    if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
     127# DO NOT DELETE THIS LINE -- xapdep depends on it.
     128
  • win32_backends_chert.mak

     
    110110
    111111# Calculate any header dependencies and automatically insert them into this file
    112112HEADERS :
    113             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    114 # DO NOT DELETE THIS LINE -- make depend depends on it.
     113    -@erase deps.d
     114    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     115    if exist "..\..\win32\$(DEPEND)" ..\..\win32\$(DEPEND)
     116# DO NOT DELETE THIS LINE -- xapdep depends on it.
     117 No newline at end of file
  • win32_backends_flint.mak

     
    106106
    107107# Calculate any header dependencies and automatically insert them into this file
    108108HEADERS :
    109             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    110 # DO NOT DELETE THIS LINE -- make depend depends on it.
     109    -@erase deps.d
     110    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     111    if exist "..\..\win32\$(DEPEND)" ..\..\win32\$(DEPEND)
     112# DO NOT DELETE THIS LINE -- xapdep depends on it.
     113 No newline at end of file
  • win32_backends_inmemory.mak

     
    6262
    6363# Calculate any header dependencies and automatically insert them into this file
    6464HEADERS :
    65             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    66 # DO NOT DELETE THIS LINE -- make depend depends on it.
    67  No newline at end of file
     65    -@erase deps.d
     66    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     67    if exist "..\..\win32\$(DEPEND)" ..\..\win32\$(DEPEND)
     68# DO NOT DELETE THIS LINE -- xapdep depends on it.
     69 No newline at end of file
  • win32_backends_multi.mak

     
    6161
    6262# Calculate any header dependencies and automatically insert them into this file
    6363HEADERS :
    64             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    65 # DO NOT DELETE THIS LINE -- make depend depends on it.
    66  No newline at end of file
     64    -@erase deps.d
     65    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     66    if exist "..\..\win32\$(DEPEND)" ..\..\win32\$(DEPEND)
     67# DO NOT DELETE THIS LINE -- xapdep depends on it.
     68 No newline at end of file
  • win32_backends_quartz.mak

     
    9595
    9696# Calculate any header dependencies and automatically insert them into this file
    9797HEADERS :
    98             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    99 # DO NOT DELETE THIS LINE -- make depend depends on it.
    100  No newline at end of file
     98    -@erase deps.d
     99    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     100    if exist "..\..\win32\$(DEPEND)" ..\..\win32\$(DEPEND)
     101# DO NOT DELETE THIS LINE -- xapdep depends on it.
     102 No newline at end of file
  • win32_backends_remote.mak

     
    6262
    6363# Calculate any header dependencies and automatically insert them into this file
    6464HEADERS :
    65             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    66 # DO NOT DELETE THIS LINE -- make depend depends on it.
    67  No newline at end of file
     65    -@erase deps.d
     66    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     67    if exist "..\..\win32\$(DEPEND)" ..\..\win32\$(DEPEND)
     68# DO NOT DELETE THIS LINE -- xapdep depends on it.
     69 No newline at end of file
  • win32_bin.mak

     
    162162
    163163# Calculate any header dependencies and automatically insert them into this file
    164164HEADERS :
    165             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    166 # DO NOT DELETE THIS LINE -- make depend depends on it.
     165    -@erase deps.d
     166    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     167    if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
     168# DO NOT DELETE THIS LINE -- xapdep depends on it.
    167169
  • win32_common.mak

     
    4545    $(INTDIR)\stringutils.cc \
    4646    $(INTDIR)\utils.cc \
    4747    $(INTDIR)\win32_uuid.cc
    48    
    49  
     48
     49   
    5050CPP_PROJ=$(CPPFLAGS_EXTRA) -I..\win32\ -Fo"$(INTDIR)\\" -Tp$(INPUTNAME)
    5151CPP_OBJS=..\win32\$(XAPIAN_DEBUG_OR_RELEASE)
    5252CPP_SBRS=.
     
    5959    -@erase "$(INTDIR)\*.pdb"
    6060    -@erase "$(INTDIR)\getopt.obj"
    6161    -@erase $(OBJS)
     62    -@erase deps.d
    6263
    6364"$(OUTDIR)" :
    6465    if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
     
    8182
    8283# Calculate any header dependencies and automatically insert them into this file
    8384HEADERS :
    84             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    85 # DO NOT DELETE THIS LINE -- make depend depends on it.
     85    -@erase deps.d
     86    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     87    if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
     88# DO NOT DELETE THIS LINE -- xapdep depends on it.
     89
  • win32_examples.mak

     
    130130
    131131# Calculate any header dependencies and automatically insert them into this file
    132132HEADERS :
    133             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    134 # DO NOT DELETE THIS LINE -- make depend depends on it.
    135  No newline at end of file
     133    -@erase deps.d
     134    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     135    if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
     136# DO NOT DELETE THIS LINE -- xapdep depends on it.
     137 No newline at end of file
  • win32_expand.mak

     
    5858
    5959# Calculate any header dependencies and automatically insert them into this file
    6060HEADERS :
    61             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    62 # DO NOT DELETE THIS LINE -- make depend depends on it.
    63 
     61    -@erase deps.d
     62    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     63    if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
     64# DO NOT DELETE THIS LINE -- xapdep depends on it.
  • win32_getopt.mak

     
    5555
    5656# Calculate any header dependencies and automatically insert them into this file
    5757HEADERS :
    58             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    59 # DO NOT DELETE THIS LINE -- make depend depends on it.
     58    -@erase deps.d
     59    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     60    if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
     61# DO NOT DELETE THIS LINE -- xapdep depends on it.
     62 No newline at end of file
  • win32_languages_compiler.mak

     
    1818               "$(INTDIR)\space.obj" \
    1919               "$(INTDIR)\tokeniser.obj"
    2020
    21 SRCS=          "$(INTDIR)\analyser.cc" \
    22                "$(INTDIR)\generator.cc" \
    23                "$(INTDIR)\driver.cc" \
    24                "$(INTDIR)\space.cc" \
    25                "$(INTDIR)\tokeniser.cc"
     21SRCS=          "$(INTDIR)\analyser.c" \
     22               "$(INTDIR)\generator.c" \
     23               "$(INTDIR)\driver.c" \
     24               "$(INTDIR)\space.c" \
     25               "$(INTDIR)\tokeniser.c"
    2626
    2727CLEAN :
    2828        -@erase "$(INTDIR)\*.pch"
     
    7777
    7878# Calculate any header dependencies and automatically insert them into this file
    7979HEADERS :
    80             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    81 # DO NOT DELETE THIS LINE -- make depend depends on it.
    82  No newline at end of file
     80    -@erase deps.d
     81    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     82    if exist "..\..\win32\$(DEPEND)" ..\..\win32\$(DEPEND)
     83# DO NOT DELETE THIS LINE -- xapdep depends on it.
     84 No newline at end of file
  • win32_matcher.mak

     
    103103
    104104# Calculate any header dependencies and automatically insert them into this file
    105105HEADERS :
    106             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    107 # DO NOT DELETE THIS LINE -- make depend depends on it.
     106    -@erase deps.d
     107    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     108    if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
     109# DO NOT DELETE THIS LINE -- xapdep depends on it.
     110 No newline at end of file
  • win32_net.mak

     
    6969
    7070# Calculate any header dependencies and automatically insert them into this file
    7171HEADERS :
    72             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    73 # DO NOT DELETE THIS LINE -- make depend depends on it.
    74  No newline at end of file
     72    -@erase deps.d
     73    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     74    if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
     75# DO NOT DELETE THIS LINE -- xapdep depends on it.
     76 No newline at end of file
  • win32_perftest.mak

     
    7979
    8080# Calculate any header dependencies and automatically insert them into this file
    8181HEADERS :
    82             if exist "..\..\win32\$(DEPEND)" ..\..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    83 # DO NOT DELETE THIS LINE -- make depend depends on it.
     82    -@erase deps.d
     83    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     84    if exist "..\..\win32\$(DEPEND)" ..\..\win32\$(DEPEND)
     85# DO NOT DELETE THIS LINE -- xapdep depends on it.
     86 No newline at end of file
  • win32_queryparser.mak

     
    8080<<
    8181
    8282# Calculate any header dependencies and automatically insert them into this file
    83 HEADERS :
    84             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    85 # DO NOT DELETE THIS LINE -- make depend depends on it.
     83HEADERS : "$(INTDIR)\queryparser_internal.cc"
     84    -@erase deps.d
     85    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     86    if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
     87# DO NOT DELETE THIS LINE -- xapdep depends on it.
     88 No newline at end of file
  • win32_tests.mak

     
    8686
    8787SRC = \
    8888    "$(INTDIR)\apitest.cc" \
    89     "$(INTDIR)\api_anydb.cc" \
    90     "$(INTDIR)\api_backend.cc" \
    91     "$(INTDIR)\api_closedb.cc" \
    92     "$(INTDIR)\api_collapse.cc" \
    93     "$(INTDIR)\api_compact.cc" \
    94     "$(INTDIR)\api_db.cc" \
    95     "$(INTDIR)\api_generated.cc" \
    96     "$(INTDIR)\api_nodb.cc" \
    97     "$(INTDIR)\api_percentages.cc" \
    98     "$(INTDIR)\api_posdb.cc" \
    99     "$(INTDIR)\api_query.cc" \
    100     "$(INTDIR)\api_replicate.cc" \
    101     "$(INTDIR)\api_serialise.cc" \
    102     "$(INTDIR)\api_sorting.cc" \
    103     "$(INTDIR)\api_sortingold.cc" \
    104     "$(INTDIR)\api_spelling.cc" \
    105     "$(INTDIR)\api_transdb.cc" \
    106     "$(INTDIR)\api_unicode.cc" \
    107     "$(INTDIR)\api_valuestats.cc" \
    108     "$(INTDIR)\api_valuestream.cc" \
    109     "$(INTDIR)\api_wrdb.cc" \
    110     "$(INTDIR)\btreetest.cc" \
    11189    "$(INTDIR)\dbcheck.cc" \
    11290    "$(INTDIR)\internaltest.cc" \
    113     "$(INTDIR)\quartztest.cc" \
    11491    "$(INTDIR)\queryparsertest.cc" \
    115     "$(INTDIR)\remotetest.cc" \
     92    "$(INTDIR)\stemtest.cc" \
    11693    "$(INTDIR)\termgentest.cc"
    11794
    11895COLLATED_APITEST_SOURCES= \
     
    268245<<
    269246
    270247# Calculate any header dependencies and automatically insert them into this file
    271 HEADERS :
    272             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    273 # DO NOT DELETE THIS LINE -- make depend depends on it.
     248HEADERS : api_collated.h
     249    -@erase deps.d
     250    $(CPP) -showIncludes $(CPP_PROJ) $(SRC) >>deps.d
     251    $(CPP) -showIncludes $(CPP_PROJ) $(COLLATED_APITEST_SOURCES) >>deps.d
     252    if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
     253# DO NOT DELETE THIS LINE -- xapdep depends on it.
     254 No newline at end of file
  • win32_testsuite.mak

     
    8383
    8484# Calculate any header dependencies and automatically insert them into this file
    8585HEADERS :
    86             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    87 # DO NOT DELETE THIS LINE -- make depend depends on it.
     86    -@erase deps.d
     87    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     88    if exist "..\..\win32\$(DEPEND)" ..\..\win32\$(DEPEND)
     89# DO NOT DELETE THIS LINE -- xapdep depends on it.
     90 No newline at end of file
  • win32_unicode.mak

     
    5757
    5858# Calculate any header dependencies and automatically insert them into this file
    5959HEADERS :
    60             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    61 # DO NOT DELETE THIS LINE -- make depend depends on it.
    62 
     60    -@erase deps.d
     61    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     62    if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
     63# DO NOT DELETE THIS LINE -- xapdep depends on it.
  • win32_weight.mak

     
    5959
    6060# Calculate any header dependencies and automatically insert them into this file
    6161HEADERS :
    62             if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND) $(DEPEND_FLAGS) -- $(CPP_PROJ) -- $(SRCS) -I"$(INCLUDE)"
    63 # DO NOT DELETE THIS LINE -- make depend depends on it.
     62    -@erase deps.d
     63    $(CPP) -showIncludes $(CPP_PROJ) $(SRCS) >>deps.d
     64    if exist "..\win32\$(DEPEND)" ..\win32\$(DEPEND)
     65# DO NOT DELETE THIS LINE -- xapdep depends on it.
     66 No newline at end of file
  • xapdep/xapdep.c

     
     1/** @file xapdep.c
     2 * @brief File converter for Win32 MSVC dependency information
     3 */
     4/* Copyright (C) 2010 Lemur Consulting Ltd.
     5 *
     6 * This program is free software; you can redistribute it and/or modify
     7 * it under the terms of the GNU General Public License as published by
     8 * the Free Software Foundation; either version 2 of the License, or
     9 * (at your option) any later version.
     10 *
     11 * This program is distributed in the hope that it will be useful,
     12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14 * GNU General Public License for more details.
     15 *
     16 * You should have received a copy of the GNU General Public License
     17 * along with this program; if not, write to the Free Software
     18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
     19 */
     20/* Replacement for makedepend, which had several bugs. We read in a file 'deps.d',
     21made by the MSVC compiler using the -showIncludes switch, reformat it and add its
     22 contents to the end of 'Makefile'  - we do a nasty in-place replacement */
     23
     24#pragma warning(disable:4996)
     25#include <io.h>
     26#include <errno.h>
     27#include <string.h>
     28#include <stdio.h>
     29
     30#define DEPFILE "deps.d"
     31#define MAKEFILE "Makefile"
     32#define BACKUP_MAKEFILE "Makefile.bak"
     33#define BUFSIZE 1024
     34#define ENDMAKSTRING "# DO NOT DELETE THIS LINE"
     35#define DISCARDSTRING "Generating Code..."
     36#define DISCARDSTRING2 "Compiling..."
     37/* no, of characters after 'Note: including file:' in dep file */
     38#define INSET 22
     39/*  lines that don't match the above will have a colon at this position*/
     40#define CHECKPOS 4
     41
     42/* Ugly rename-in-place hack taken from Makedepend sources */
     43int myrename(char *from, char *to)
     44{
     45  int r=1;
     46  char buf[BUFSIZE];
     47  FILE *in, *out;
     48  in=fopen(from, "rb");
     49  if(in==0)
     50    return -1;
     51  out=fopen(to, "wb");
     52  if(out==0)
     53    return -1;
     54  while(!feof(in) && r>0)
     55    {
     56      r=fread(buf, 1, sizeof(buf), in);
     57      if(r>0)
     58                fwrite(buf, 1, r, out);
     59    }
     60  fclose(out);
     61  fclose(in);
     62  if(unlink(from) < 0)
     63          fprintf(stderr, "\nXAPDEP could not delete %s : %s\n", from, strerror(errno));
     64
     65  return 0;
     66}
     67
     68int main(int argc, char *argv[])
     69{
     70        FILE *indep,*inmak,*outmak;
     71        char buf[BUFSIZE], objbuf[BUFSIZE], depbuf[BUFSIZE], bothbuf[BUFSIZE];
     72        int ch, endch, wch;
     73
     74    /* Open the files we'll need, renaming the old Makefile to a backup */
     75        indep=fopen(DEPFILE,"rb");
     76        if(indep==0)
     77        {
     78                fprintf(stderr, "\nXAPDEP could not read deps.d\n");
     79                return -1;
     80        }
     81        if(myrename(MAKEFILE,BACKUP_MAKEFILE)!=0)
     82                return -1;
     83        inmak=fopen(BACKUP_MAKEFILE,"rb");
     84        outmak=fopen(MAKEFILE,"wb");
     85        if((inmak==0)||(outmak==0))
     86        {
     87                fprintf(stderr, "\nXAPDEP could not use Makefile\n");
     88                return -1;
     89        }
     90
     91    /* Move through the backup makefile, reading each string and writing it unmodified to the new makefile */
     92        while(!feof(inmak))
     93        {
     94                fgets(buf, sizeof(buf), inmak);
     95                fputs(buf,outmak);
     96                if((strncmp(buf,ENDMAKSTRING,strlen(ENDMAKSTRING))==0) && !feof(indep))
     97                {
     98            /* We've got to the marker string at the end of the makefile, start reading dependencies */
     99                        fgets(buf, sizeof(buf), indep);
     100                        fputs("\r\n\r\n#Automatically generated dependencies from XAPDEP follow:\r\n\r\n",outmak);
     101                        while(!feof(indep))
     102                        {
     103                /* check for other random strings the compiler emits sometimes */
     104                while ( (strcmp(buf, DISCARDSTRING)==0) || (strcmp(buf, DISCARDSTRING2)==0) )   
     105                {
     106                      if(feof(indep)) break;
     107                      else /* skip line */
     108                        fgets(buf, sizeof(buf), indep);
     109                }
     110
     111                                /* first line should be a .cc file, use this to generate the .obj file */
     112                                ch=0;
     113                                while((buf[ch]!='.') && (ch!=strlen(buf)))
     114                                        objbuf[ch] = buf[ch++];
     115                                objbuf[ch]=0;
     116                                strcat(objbuf,".obj : ");
     117                                while(!feof(indep))
     118                                {
     119                    /* get all the dependencies */
     120                                        fgets(buf, sizeof(buf), indep);
     121                   
     122                    /* check for the end of the deps list */
     123                                        if(buf[CHECKPOS]!=':')
     124                                                break;
     125                       
     126                    /* check for other random strings the compiler emits sometimes */
     127                    if ( (strcmp(buf, DISCARDSTRING)==0) || (strcmp(buf, DISCARDSTRING2)==0) ) 
     128                        break;
     129                       
     130                    /* clean up the dependencies and write them to the makefile */
     131                                        ch=INSET;
     132                                        endch=strlen(buf);
     133                    wch=0;
     134                    /* skip space */
     135                                        while((ch < endch) && (buf[ch]!='\r') && (buf[ch]==' '))
     136                                                ch++;
     137                                        while((ch < endch) && (buf[ch]!='\r'))
     138                                                depbuf[wch++]=buf[ch++];
     139                                        depbuf[wch]=0;
     140                                        sprintf(bothbuf,"%s%s\r\n",objbuf,depbuf);
     141                                        fputs(bothbuf, outmak);
     142                                }
     143                        }
     144                }
     145        }
     146        fclose(outmak);
     147        fclose(inmak);
     148        fclose(indep);
     149        return 0;
     150}
     151 No newline at end of file
  • xapdep/xapdep.vcproj

     
     1<?xml version="1.0" encoding="UTF-8"?>
     2<VisualStudioProject
     3        ProjectType="Visual C++"
     4        Version="9.00"
     5        Name="xapdep"
     6        ProjectGUID="{51579F22-9B6A-4AE2-A311-835AC4B16118}"
     7        Keyword="Win32Proj"
     8        TargetFrameworkVersion="0"
     9        >
     10        <Platforms>
     11                <Platform
     12                        Name="Win32"
     13                />
     14        </Platforms>
     15        <ToolFiles>
     16        </ToolFiles>
     17        <Configurations>
     18                <Configuration
     19                        Name="Debug|Win32"
     20                        OutputDirectory="Debug"
     21                        IntermediateDirectory="Debug"
     22                        ConfigurationType="1"
     23                        >
     24                        <Tool
     25                                Name="VCPreBuildEventTool"
     26                        />
     27                        <Tool
     28                                Name="VCCustomBuildTool"
     29                        />
     30                        <Tool
     31                                Name="VCXMLDataGeneratorTool"
     32                        />
     33                        <Tool
     34                                Name="VCWebServiceProxyGeneratorTool"
     35                        />
     36                        <Tool
     37                                Name="VCMIDLTool"
     38                        />
     39                        <Tool
     40                                Name="VCCLCompilerTool"
     41                                Optimization="0"
     42                                PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;"
     43                                MinimalRebuild="true"
     44                                BasicRuntimeChecks="3"
     45                                RuntimeLibrary="3"
     46                                UsePrecompiledHeader="0"
     47                                WarningLevel="3"
     48                                Detect64BitPortabilityProblems="true"
     49                                DebugInformationFormat="4"
     50                                CompileAs="1"
     51                        />
     52                        <Tool
     53                                Name="VCManagedResourceCompilerTool"
     54                        />
     55                        <Tool
     56                                Name="VCResourceCompilerTool"
     57                        />
     58                        <Tool
     59                                Name="VCPreLinkEventTool"
     60                        />
     61                        <Tool
     62                                Name="VCLinkerTool"
     63                                LinkIncremental="2"
     64                                GenerateDebugInformation="true"
     65                                SubSystem="1"
     66                                TargetMachine="1"
     67                        />
     68                        <Tool
     69                                Name="VCALinkTool"
     70                        />
     71                        <Tool
     72                                Name="VCManifestTool"
     73                        />
     74                        <Tool
     75                                Name="VCXDCMakeTool"
     76                        />
     77                        <Tool
     78                                Name="VCBscMakeTool"
     79                        />
     80                        <Tool
     81                                Name="VCFxCopTool"
     82                        />
     83                        <Tool
     84                                Name="VCAppVerifierTool"
     85                        />
     86                        <Tool
     87                                Name="VCPostBuildEventTool"
     88                        />
     89                </Configuration>
     90                <Configuration
     91                        Name="Release|Win32"
     92                        OutputDirectory="Release"
     93                        IntermediateDirectory="Release"
     94                        ConfigurationType="1"
     95                        >
     96                        <Tool
     97                                Name="VCPreBuildEventTool"
     98                        />
     99                        <Tool
     100                                Name="VCCustomBuildTool"
     101                        />
     102                        <Tool
     103                                Name="VCXMLDataGeneratorTool"
     104                        />
     105                        <Tool
     106                                Name="VCWebServiceProxyGeneratorTool"
     107                        />
     108                        <Tool
     109                                Name="VCMIDLTool"
     110                        />
     111                        <Tool
     112                                Name="VCCLCompilerTool"
     113                                PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;"
     114                                RuntimeLibrary="2"
     115                                UsePrecompiledHeader="0"
     116                                WarningLevel="3"
     117                                Detect64BitPortabilityProblems="true"
     118                                DebugInformationFormat="3"
     119                        />
     120                        <Tool
     121                                Name="VCManagedResourceCompilerTool"
     122                        />
     123                        <Tool
     124                                Name="VCResourceCompilerTool"
     125                        />
     126                        <Tool
     127                                Name="VCPreLinkEventTool"
     128                        />
     129                        <Tool
     130                                Name="VCLinkerTool"
     131                                LinkIncremental="2"
     132                                GenerateDebugInformation="true"
     133                                SubSystem="1"
     134                                OptimizeReferences="2"
     135                                EnableCOMDATFolding="2"
     136                                TargetMachine="1"
     137                        />
     138                        <Tool
     139                                Name="VCALinkTool"
     140                        />
     141                        <Tool
     142                                Name="VCManifestTool"
     143                        />
     144                        <Tool
     145                                Name="VCXDCMakeTool"
     146                        />
     147                        <Tool
     148                                Name="VCBscMakeTool"
     149                        />
     150                        <Tool
     151                                Name="VCFxCopTool"
     152                        />
     153                        <Tool
     154                                Name="VCAppVerifierTool"
     155                        />
     156                        <Tool
     157                                Name="VCPostBuildEventTool"
     158                        />
     159                </Configuration>
     160        </Configurations>
     161        <References>
     162        </References>
     163        <Files>
     164                <Filter
     165                        Name="Header Files"
     166                        Filter="h;hpp;hxx;hm;inl;inc;xsd"
     167                        UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
     168                        >
     169                </Filter>
     170                <Filter
     171                        Name="Resource Files"
     172                        Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
     173                        UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
     174                        >
     175                </Filter>
     176                <Filter
     177                        Name="Source Files"
     178                        Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
     179                        UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
     180                        >
     181                        <File
     182                                RelativePath=".\xapdep.c"
     183                                >
     184                        </File>
     185                </Filter>
     186        </Files>
     187        <Globals>
     188        </Globals>
     189</VisualStudioProject>
  • xapdep/xapdep.mak

     
     1# NMAKE file for xapdep tool
     2
     3OUTDIR=.
     4INTDIR=.
     5
     6ALL : "$(OUTDIR)\xapdep.exe"
     7
     8CLEAN :
     9        -@erase "$(INTDIR)\xapdep.obj"
     10        -@erase "$(OUTDIR)\xapdep.exe"
     11    -@erase "$(OUTDIR)\*.idb
     12
     13CPP=cl.exe
     14CPP_PROJ=/nologo /W3 /EHsc /O2 /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D STANDALONE=1 /D OBJSUFFIX=\".obj\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
     15
     16.c{$(INTDIR)}.obj::
     17   $(CPP) @<<
     18   $(CPP_PROJ) $<
     19<<
     20
     21.c{$(INTDIR)}.sbr::
     22   $(CPP) @<<
     23   $(CPP_PROJ) $<
     24<<
     25
     26LINK32=link.exe
     27LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\xapdep.pdb" /machine:I386 /out:"$(OUTDIR)\xapdep.exe"
     28LINK32_OBJS= "$(INTDIR)\xapdep.obj"
     29
     30"$(OUTDIR)\xapdep.exe" : "$(OUTDIR)" $(LINK32_OBJS)
     31    $(LINK32) @<<
     32  $(LINK32_FLAGS) $(LINK32_OBJS)
     33<<
  • xapdep/xapdep.sln

     
     1
     2Microsoft Visual Studio Solution File, Format Version 10.00
     3# Visual C++ Express 2008
     4Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xapdep", "xapdep.vcproj", "{51579F22-9B6A-4AE2-A311-835AC4B16118}"
     5EndProject
     6Global
     7        GlobalSection(SolutionConfigurationPlatforms) = preSolution
     8                Debug|Win32 = Debug|Win32
     9                Release|Win32 = Release|Win32
     10        EndGlobalSection
     11        GlobalSection(ProjectConfigurationPlatforms) = postSolution
     12                {51579F22-9B6A-4AE2-A311-835AC4B16118}.Debug|Win32.ActiveCfg = Debug|Win32
     13                {51579F22-9B6A-4AE2-A311-835AC4B16118}.Debug|Win32.Build.0 = Debug|Win32
     14                {51579F22-9B6A-4AE2-A311-835AC4B16118}.Release|Win32.ActiveCfg = Release|Win32
     15                {51579F22-9B6A-4AE2-A311-835AC4B16118}.Release|Win32.Build.0 = Release|Win32
     16        EndGlobalSection
     17        GlobalSection(SolutionProperties) = preSolution
     18                HideSolutionNode = FALSE
     19        EndGlobalSection
     20EndGlobal
  • xapdep/README

     
     1README for xapdep
     2-----------------
     3
     4Charlie Hull/Lemur Consulting Ltd. Feb 16th 2010
     5
     6Xapdep is a replacement for makedepend which was used previously for
     7calculating dependency information for Xapian when compiled with MSVC.
     8The compiler allows a switch -showIncludes which generates a list of
     9dependencies, xapdep reads this, tidies them up and adds them to the end
     10of a Makefile.
     11
     12See win32_common.mak and others for details of how xapdep is used. Note that
     13this program works with fixed filenames and thus only in a particular set of
     14circumstances.
     15
     16
  • xapdep/README

     
     1README for xapdep
     2-----------------
     3
     4Charlie Hull/Lemur Consulting Ltd. Feb 16th 2010
     5
     6Xapdep is a replacement for makedepend which was used previously for
     7calculating dependency information for Xapian when compiled with MSVC.
     8The compiler allows a switch -showIncludes which generates a list of
     9dependencies, xapdep reads this, tidies them up and adds them to the end
     10of a Makefile.
     11
     12See win32_common.mak and others for details of how xapdep is used. Note that
     13this program works with fixed filenames and thus only in a particular set of
     14circumstances.
     15
     16
  • xapdep/xapdep.c

     
     1/** @file xapdep.c
     2 * @brief File converter for Win32 MSVC dependency information
     3 */
     4/* Copyright (C) 2010 Lemur Consulting Ltd.
     5 *
     6 * This program is free software; you can redistribute it and/or modify
     7 * it under the terms of the GNU General Public License as published by
     8 * the Free Software Foundation; either version 2 of the License, or
     9 * (at your option) any later version.
     10 *
     11 * This program is distributed in the hope that it will be useful,
     12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14 * GNU General Public License for more details.
     15 *
     16 * You should have received a copy of the GNU General Public License
     17 * along with this program; if not, write to the Free Software
     18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
     19 */
     20/* Replacement for makedepend, which had several bugs. We read in a file 'deps.d',
     21made by the MSVC compiler using the -showIncludes switch, reformat it and add its
     22 contents to the end of 'Makefile'  - we do a nasty in-place replacement */
     23
     24#pragma warning(disable:4996)
     25#include <io.h>
     26#include <errno.h>
     27#include <string.h>
     28#include <stdio.h>
     29
     30#define DEPFILE "deps.d"
     31#define MAKEFILE "Makefile"
     32#define BACKUP_MAKEFILE "Makefile.bak"
     33#define BUFSIZE 1024
     34#define ENDMAKSTRING "# DO NOT DELETE THIS LINE"
     35#define DISCARDSTRING "Generating Code..."
     36#define DISCARDSTRING2 "Compiling..."
     37/* no, of characters after 'Note: including file:' in dep file */
     38#define INSET 22
     39/*  lines that don't match the above will have a colon at this position*/
     40#define CHECKPOS 4
     41
     42/* Ugly rename-in-place hack taken from Makedepend sources */
     43int myrename(char *from, char *to)
     44{
     45  int r=1;
     46  char buf[BUFSIZE];
     47  FILE *in, *out;
     48  in=fopen(from, "rb");
     49  if(in==0)
     50    return -1;
     51  out=fopen(to, "wb");
     52  if(out==0)
     53    return -1;
     54  while(!feof(in) && r>0)
     55    {
     56      r=fread(buf, 1, sizeof(buf), in);
     57      if(r>0)
     58                fwrite(buf, 1, r, out);
     59    }
     60  fclose(out);
     61  fclose(in);
     62  if(unlink(from) < 0)
     63          fprintf(stderr, "\nXAPDEP could not delete %s : %s\n", from, strerror(errno));
     64
     65  return 0;
     66}
     67
     68int main(int argc, char *argv[])
     69{
     70        FILE *indep,*inmak,*outmak;
     71        char buf[BUFSIZE], objbuf[BUFSIZE], depbuf[BUFSIZE], bothbuf[BUFSIZE];
     72        int ch, endch, wch;
     73
     74    /* Open the files we'll need, renaming the old Makefile to a backup */
     75        indep=fopen(DEPFILE,"rb");
     76        if(indep==0)
     77        {
     78                fprintf(stderr, "\nXAPDEP could not read deps.d\n");
     79                return -1;
     80        }
     81        if(myrename(MAKEFILE,BACKUP_MAKEFILE)!=0)
     82                return -1;
     83        inmak=fopen(BACKUP_MAKEFILE,"rb");
     84        outmak=fopen(MAKEFILE,"wb");
     85        if((inmak==0)||(outmak==0))
     86        {
     87                fprintf(stderr, "\nXAPDEP could not use Makefile\n");
     88                return -1;
     89        }
     90
     91    /* Move through the backup makefile, reading each string and writing it unmodified to the new makefile */
     92        while(!feof(inmak))
     93        {
     94                fgets(buf, sizeof(buf), inmak);
     95                fputs(buf,outmak);
     96                if((strncmp(buf,ENDMAKSTRING,strlen(ENDMAKSTRING))==0) && !feof(indep))
     97                {
     98            /* We've got to the marker string at the end of the makefile, start reading dependencies */
     99                        fgets(buf, sizeof(buf), indep);
     100                        fputs("\r\n\r\n#Automatically generated dependencies from XAPDEP follow:\r\n\r\n",outmak);
     101                        while(!feof(indep))
     102                        {
     103                /* check for other random strings the compiler emits sometimes */
     104                while ( (strcmp(buf, DISCARDSTRING)==0) || (strcmp(buf, DISCARDSTRING2)==0) )   
     105                {
     106                      if(feof(indep)) break;
     107                      else /* skip line */
     108                        fgets(buf, sizeof(buf), indep);
     109                }
     110
     111                                /* first line should be a .cc file, use this to generate the .obj file */
     112                                ch=0;
     113                                while((buf[ch]!='.') && (ch!=strlen(buf)))
     114                                        objbuf[ch] = buf[ch++];
     115                                objbuf[ch]=0;
     116                                strcat(objbuf,".obj : ");
     117                                while(!feof(indep))
     118                                {
     119                    /* get all the dependencies */
     120                                        fgets(buf, sizeof(buf), indep);
     121                   
     122                    /* check for the end of the deps list */
     123                                        if(buf[CHECKPOS]!=':')
     124                                                break;
     125                       
     126                    /* check for other random strings the compiler emits sometimes */
     127                    if ( (strcmp(buf, DISCARDSTRING)==0) || (strcmp(buf, DISCARDSTRING2)==0) ) 
     128                        break;
     129                       
     130                    /* clean up the dependencies and write them to the makefile */
     131                                        ch=INSET;
     132                                        endch=strlen(buf);
     133                    wch=0;
     134                    /* skip space */
     135                                        while((ch < endch) && (buf[ch]!='\r') && (buf[ch]==' '))
     136                                                ch++;
     137                                        while((ch < endch) && (buf[ch]!='\r'))
     138                                                depbuf[wch++]=buf[ch++];
     139                                        depbuf[wch]=0;
     140                                        sprintf(bothbuf,"%s%s\r\n",objbuf,depbuf);
     141                                        fputs(bothbuf, outmak);
     142                                }
     143                        }
     144                }
     145        }
     146        fclose(outmak);
     147        fclose(inmak);
     148        fclose(indep);
     149        return 0;
     150}
     151 No newline at end of file
  • xapdep/xapdep.mak

     
     1# NMAKE file for xapdep tool
     2
     3OUTDIR=.
     4INTDIR=.
     5
     6ALL : "$(OUTDIR)\xapdep.exe"
     7
     8CLEAN :
     9        -@erase "$(INTDIR)\xapdep.obj"
     10        -@erase "$(OUTDIR)\xapdep.exe"
     11    -@erase "$(OUTDIR)\*.idb
     12
     13CPP=cl.exe
     14CPP_PROJ=/nologo /W3 /EHsc /O2 /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D STANDALONE=1 /D OBJSUFFIX=\".obj\" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
     15
     16.c{$(INTDIR)}.obj::
     17   $(CPP) @<<
     18   $(CPP_PROJ) $<
     19<<
     20
     21.c{$(INTDIR)}.sbr::
     22   $(CPP) @<<
     23   $(CPP_PROJ) $<
     24<<
     25
     26LINK32=link.exe
     27LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /pdb:"$(OUTDIR)\xapdep.pdb" /machine:I386 /out:"$(OUTDIR)\xapdep.exe"
     28LINK32_OBJS= "$(INTDIR)\xapdep.obj"
     29
     30"$(OUTDIR)\xapdep.exe" : "$(OUTDIR)" $(LINK32_OBJS)
     31    $(LINK32) @<<
     32  $(LINK32_FLAGS) $(LINK32_OBJS)
     33<<
  • xapdep/xapdep.sln

     
     1
     2Microsoft Visual Studio Solution File, Format Version 10.00
     3# Visual C++ Express 2008
     4Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xapdep", "xapdep.vcproj", "{51579F22-9B6A-4AE2-A311-835AC4B16118}"
     5EndProject
     6Global
     7        GlobalSection(SolutionConfigurationPlatforms) = preSolution
     8                Debug|Win32 = Debug|Win32
     9                Release|Win32 = Release|Win32
     10        EndGlobalSection
     11        GlobalSection(ProjectConfigurationPlatforms) = postSolution
     12                {51579F22-9B6A-4AE2-A311-835AC4B16118}.Debug|Win32.ActiveCfg = Debug|Win32
     13                {51579F22-9B6A-4AE2-A311-835AC4B16118}.Debug|Win32.Build.0 = Debug|Win32
     14                {51579F22-9B6A-4AE2-A311-835AC4B16118}.Release|Win32.ActiveCfg = Release|Win32
     15                {51579F22-9B6A-4AE2-A311-835AC4B16118}.Release|Win32.Build.0 = Release|Win32
     16        EndGlobalSection
     17        GlobalSection(SolutionProperties) = preSolution
     18                HideSolutionNode = FALSE
     19        EndGlobalSection
     20EndGlobal
  • xapdep/xapdep.vcproj

     
     1<?xml version="1.0" encoding="UTF-8"?>
     2<VisualStudioProject
     3        ProjectType="Visual C++"
     4        Version="9.00"
     5        Name="xapdep"
     6        ProjectGUID="{51579F22-9B6A-4AE2-A311-835AC4B16118}"
     7        Keyword="Win32Proj"
     8        TargetFrameworkVersion="0"
     9        >
     10        <Platforms>
     11                <Platform
     12                        Name="Win32"
     13                />
     14        </Platforms>
     15        <ToolFiles>
     16        </ToolFiles>
     17        <Configurations>
     18                <Configuration
     19                        Name="Debug|Win32"
     20                        OutputDirectory="Debug"
     21                        IntermediateDirectory="Debug"
     22                        ConfigurationType="1"
     23                        >
     24                        <Tool
     25                                Name="VCPreBuildEventTool"
     26                        />
     27                        <Tool
     28                                Name="VCCustomBuildTool"
     29                        />
     30                        <Tool
     31                                Name="VCXMLDataGeneratorTool"
     32                        />
     33                        <Tool
     34                                Name="VCWebServiceProxyGeneratorTool"
     35                        />
     36                        <Tool
     37                                Name="VCMIDLTool"
     38                        />
     39                        <Tool
     40                                Name="VCCLCompilerTool"
     41                                Optimization="0"
     42                                PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;"
     43                                MinimalRebuild="true"
     44                                BasicRuntimeChecks="3"
     45                                RuntimeLibrary="3"
     46                                UsePrecompiledHeader="0"
     47                                WarningLevel="3"
     48                                Detect64BitPortabilityProblems="true"
     49                                DebugInformationFormat="4"
     50                                CompileAs="1"
     51                        />
     52                        <Tool
     53                                Name="VCManagedResourceCompilerTool"
     54                        />
     55                        <Tool
     56                                Name="VCResourceCompilerTool"
     57                        />
     58                        <Tool
     59                                Name="VCPreLinkEventTool"
     60                        />
     61                        <Tool
     62                                Name="VCLinkerTool"
     63                                LinkIncremental="2"
     64                                GenerateDebugInformation="true"
     65                                SubSystem="1"
     66                                TargetMachine="1"
     67                        />
     68                        <Tool
     69                                Name="VCALinkTool"
     70                        />
     71                        <Tool
     72                                Name="VCManifestTool"
     73                        />
     74                        <Tool
     75                                Name="VCXDCMakeTool"
     76                        />
     77                        <Tool
     78                                Name="VCBscMakeTool"
     79                        />
     80                        <Tool
     81                                Name="VCFxCopTool"
     82                        />
     83                        <Tool
     84                                Name="VCAppVerifierTool"
     85                        />
     86                        <Tool
     87                                Name="VCPostBuildEventTool"
     88                        />
     89                </Configuration>
     90                <Configuration
     91                        Name="Release|Win32"
     92                        OutputDirectory="Release"
     93                        IntermediateDirectory="Release"
     94                        ConfigurationType="1"
     95                        >
     96                        <Tool
     97                                Name="VCPreBuildEventTool"
     98                        />
     99                        <Tool
     100                                Name="VCCustomBuildTool"
     101                        />
     102                        <Tool
     103                                Name="VCXMLDataGeneratorTool"
     104                        />
     105                        <Tool
     106                                Name="VCWebServiceProxyGeneratorTool"
     107                        />
     108                        <Tool
     109                                Name="VCMIDLTool"
     110                        />
     111                        <Tool
     112                                Name="VCCLCompilerTool"
     113                                PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;"
     114                                RuntimeLibrary="2"
     115                                UsePrecompiledHeader="0"
     116                                WarningLevel="3"
     117                                Detect64BitPortabilityProblems="true"
     118                                DebugInformationFormat="3"
     119                        />
     120                        <Tool
     121                                Name="VCManagedResourceCompilerTool"
     122                        />
     123                        <Tool
     124                                Name="VCResourceCompilerTool"
     125                        />
     126                        <Tool
     127                                Name="VCPreLinkEventTool"
     128                        />
     129                        <Tool
     130                                Name="VCLinkerTool"
     131                                LinkIncremental="2"
     132                                GenerateDebugInformation="true"
     133                                SubSystem="1"
     134                                OptimizeReferences="2"
     135                                EnableCOMDATFolding="2"
     136                                TargetMachine="1"
     137                        />
     138                        <Tool
     139                                Name="VCALinkTool"
     140                        />
     141                        <Tool
     142                                Name="VCManifestTool"
     143                        />
     144                        <Tool
     145                                Name="VCXDCMakeTool"
     146                        />
     147                        <Tool
     148                                Name="VCBscMakeTool"
     149                        />
     150                        <Tool
     151                                Name="VCFxCopTool"
     152                        />
     153                        <Tool
     154                                Name="VCAppVerifierTool"
     155                        />
     156                        <Tool
     157                                Name="VCPostBuildEventTool"
     158                        />
     159                </Configuration>
     160        </Configurations>
     161        <References>
     162        </References>
     163        <Files>
     164                <Filter
     165                        Name="Header Files"
     166                        Filter="h;hpp;hxx;hm;inl;inc;xsd"
     167                        UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
     168                        >
     169                </Filter>
     170                <Filter
     171                        Name="Resource Files"
     172                        Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
     173                        UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
     174                        >
     175                </Filter>
     176                <Filter
     177                        Name="Source Files"
     178                        Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
     179                        UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
     180                        >
     181                        <File
     182                                RelativePath=".\xapdep.c"
     183                                >
     184                        </File>
     185                </Filter>
     186        </Files>
     187        <Globals>
     188        </Globals>
     189</VisualStudioProject>