~ubuntu-branches/ubuntu/utopic/gridengine/utopic

« back to all changes in this revision

Viewing changes to source/3rdparty/qmake/dep.h

  • Committer: Bazaar Package Importer
  • Author(s): Mark Hymers
  • Date: 2008-06-25 22:36:13 UTC
  • Revision ID: james.westby@ubuntu.com-20080625223613-tvd9xlhuoct9kyhm
Tags: upstream-6.2~beta2
ImportĀ upstreamĀ versionĀ 6.2~beta2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* Definitions of dependency data structures for GNU Make.
 
2
Copyright (C) 1988, 1989, 1991, 1992, 1993, 1996 Free Software Foundation, Inc.
 
3
This file is part of GNU Make.
 
4
 
 
5
GNU Make is free software; you can redistribute it and/or modify
 
6
it under the terms of the GNU General Public License as published by
 
7
the Free Software Foundation; either version 2, or (at your option)
 
8
any later version.
 
9
 
 
10
GNU Make is distributed in the hope that it will be useful,
 
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
GNU General Public License for more details.
 
14
 
 
15
You should have received a copy of the GNU General Public License
 
16
along with GNU Make; see the file COPYING.  If not, write to
 
17
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 
18
Boston, MA 02111-1307, USA.  */
 
19
 
 
20
/* Flag bits for the second argument to `read_makefile'.
 
21
   These flags are saved in the `changed' field of each
 
22
   `struct dep' in the chain returned by `read_all_makefiles'.  */
 
23
 
 
24
#define RM_NO_DEFAULT_GOAL      (1 << 0) /* Do not set default goal.  */
 
25
#define RM_INCLUDED             (1 << 1) /* Search makefile search path.  */
 
26
#define RM_DONTCARE             (1 << 2) /* No error if it doesn't exist.  */
 
27
#define RM_NO_TILDE             (1 << 3) /* Don't expand ~ in file name.  */
 
28
#define RM_NOFLAG               0
 
29
 
 
30
/* Structure representing one dependency of a file.
 
31
   Each struct file's `deps' points to a chain of these,
 
32
   chained through the `next'.
 
33
 
 
34
   Note that the first two words of this match a struct nameseq.  */
 
35
 
 
36
struct dep
 
37
  {
 
38
    struct dep *next;
 
39
    char *name;
 
40
    struct file *file;
 
41
    int changed;
 
42
  };
 
43
 
 
44
 
 
45
/* Structure used in chains of names, for parsing and globbing.  */
 
46
 
 
47
struct nameseq
 
48
  {
 
49
    struct nameseq *next;
 
50
    char *name;
 
51
  };
 
52
 
 
53
 
 
54
extern struct nameseq *multi_glob PARAMS ((struct nameseq *chain, unsigned int size));
 
55
#ifdef VMS
 
56
extern struct nameseq *parse_file_seq ();
 
57
#else
 
58
extern struct nameseq *parse_file_seq PARAMS ((char **stringp, int stopchar, unsigned int size, int strip));
 
59
#endif
 
60
extern char *tilde_expand PARAMS ((char *name));
 
61
 
 
62
#ifndef NO_ARCHIVES
 
63
extern struct nameseq *ar_glob PARAMS ((char *arname, char *member_pattern, unsigned int size));
 
64
#endif
 
65
 
 
66
#ifndef iAPX286
 
67
#define dep_name(d) ((d)->name == 0 ? (d)->file->name : (d)->name)
 
68
#else
 
69
/* Buggy compiler can't hack this.  */
 
70
extern char *dep_name ();
 
71
#endif
 
72
 
 
73
extern struct dep *copy_dep_chain PARAMS ((struct dep *d));
 
74
extern struct dep *read_all_makefiles PARAMS ((char **makefiles));
 
75
extern int update_goal_chain PARAMS ((struct dep *goals, int makefiles));
 
76
extern void uniquize_deps PARAMS ((struct dep *));