]> granicus.if.org Git - graphviz/commitdiff
add back various peripheral missing bits of old tree to get "make dist" and "rpmbuild...
authorellson <devnull@localhost>
Mon, 3 Jan 2005 20:54:57 +0000 (20:54 +0000)
committerellson <devnull@localhost>
Mon, 3 Jan 2005 20:54:57 +0000 (20:54 +0000)
contrib/prune/Makefile.orig [new file with mode: 0644]
features/common [new file with mode: 0644]

diff --git a/contrib/prune/Makefile.orig b/contrib/prune/Makefile.orig
new file mode 100644 (file)
index 0000000..095a0e8
--- /dev/null
@@ -0,0 +1,50 @@
+CC       := gcc
+LIBTOOL  := libtool
+LIBTOOL  := splint
+OPTFLAGS := -O3
+
+GRAPHVIZ_DIR  := ../graphviz
+GRAPHVIZ_INC  := agraph cdt tools/src
+GRAPHVIZ_LIBS := agraph/libagraph.la cdt/libcdt.la tools/src/libingraphs.la
+
+CFLAGS   := -Wall -I. $(patsubst %, -I$(GRAPHVIZ_DIR)/%, $(GRAPHVIZ_INC))
+LDFLAGS  := $(patsubst %, $(GRAPHVIZ_DIR)/%, $(GRAPHVIZ_LIBS))
+
+
+DESTDIR :=
+
+prefix  := /usr/local
+bindir  := $(prefix)/bin
+man1dir := $(prefix)/man/man1
+
+ifdef MPATROL
+  LDFLAGS += -lmpatrol -lbfd -liberty
+endif
+
+all: prune
+
+prune.o: prune.c generic_list.h
+
+generic_list.o: generic_list.c generic_list.h
+
+prune: prune.o generic_list.o
+       $(LIBTOOL) --mode=link $(CC) -o $@ $^ $(LDFLAGS)
+
+.PHONY: lint
+lint:
+       $(LINT) $(INCLUDES) +posixlib prune.c generic_list.c
+
+.PHONY: gdb
+gdb:
+       make prune OPTFLAGS=-g
+       gdb ./prune --directory $(GRAPHVIZ_DIR)/tools/src --directory $(GRAPHVIZ_DIR)/agraph
+
+.PHONY: install
+install: prune
+       install -d $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir)
+       install -m 0755 prune   $(DESTDIR)$(bindir)
+       install -m 0644 prune.1 $(DESTDIR)$(man1dir)
+
+.PHONY: clean
+clean:
+       -rm -f prune *.o
diff --git a/features/common b/features/common
new file mode 100644 (file)
index 0000000..e382b53
--- /dev/null
@@ -0,0 +1,386 @@
+iff    AST_COMMON
+hdr    pthread
+hdr    stddef
+hdr    types
+sys    types
+typ    size_t,ssize_t
+typ    long.double
+
+mac SF_CLOSE    sys/socket.h
+mac SF_APPEND   sys/stat.h
+
+proto  stdc note{ Standard-C prototypes ok }end compile{
+       extern int foo(int, int);
+       bar()
+       {       foo(1, 1);
+       }
+}end
+
+dll    import note{ Microsoft import/export nonsense }end execute{
+       __declspec(dllimport) int foo;
+       main() { return foo == 5 ? 0 : 1; }
+       int     bar = 5;
+       int*    _imp__foo = &bar;
+}end
+
+xopen  stdio note{ Stdio fseek/fflush are X/Open-compliant }end execute{
+       #include        <stdio.h>
+       #define Failed(file)    (unlink(file),1)
+       main(int argc, char** argv)
+       {       FILE    *f1, *f2;
+               char    file[1024], buf[1024], *f, *t;
+               int     i, fd;
+
+               /* create file */
+               for(f = argv[0], t = file; (*t = *f++) != 0; )
+                       t++;
+               *t++ = '.'; *t++ = 'D'; *t++ = 0;
+               if((fd = creat(file,0666)) < 0)
+                       return 1;
+
+               for (i = 0; i < sizeof(buf); ++i)
+                       buf[i] = '0' + (i%10);
+               for (i = 0; i < 16; ++i)
+                       if (write(fd,buf,sizeof(buf)) != sizeof(buf))
+                               return Failed(file);
+               close(fd);
+
+               if(!(f1 = fopen(file,"r+")) ||
+                  (fd = dup(fileno(f1))) < 0 ||
+                  !(f2 = fdopen(fd,"r+")) )
+                       return Failed(file);
+
+               if(fread(buf, 1, 7, f2) != 7 || ftell(f2) != 7)
+                       return Failed(file);
+
+               if(fseek(f1, 1010, 0) < 0 || ftell(f1) != 1010)
+                       return Failed(file);
+
+               fflush(f2); /* this should set the seek location to 1010 */
+               if(ftell(f2) != 1010)
+                       return Failed(file);
+
+               unlink(file);
+               return 0;
+       }
+}end
+
+cat{
+       
+       /* __STD_C indicates that the language is ANSI-C or C++ */
+       #if !defined(__STD_C) && __STDC__
+       #define __STD_C         1
+       #endif
+       #if !defined(__STD_C) && (__cplusplus || c_plusplus)
+       #define __STD_C         1
+       #endif
+       #if !defined(__STD_C) && _proto_stdc
+       #define __STD_C         1
+       #endif
+       #if !defined(__STD_C)
+       #define __STD_C         0
+       #endif
+
+       /* extern symbols must be protected against C++ name mangling */
+       #ifndef _BEGIN_EXTERNS_
+       #if __cplusplus || c_plusplus
+       #define _BEGIN_EXTERNS_ extern "C" {
+       #define _END_EXTERNS_   }
+       #else
+       #define _BEGIN_EXTERNS_
+       #define _END_EXTERNS_
+       #endif
+       #endif /*_BEGIN_EXTERNS_*/
+
+       /* _ARG_ simplifies function prototyping among flavors of C */
+       #ifndef _ARG_
+       #if __STD_C
+       #define _ARG_(x)        x
+       #else
+       #define _ARG_(x)        ()
+       #endif
+       #endif /*_ARG_*/
+
+       /* __INLINE__ is the inline keyword */
+       #if !defined(__INLINE__) && defined(__cplusplus)
+       #define __INLINE__      inline
+       #endif
+       #if !defined(__INLINE__) && defined(_WIN32) && !defined(__GNUC__)
+       #define __INLINE__      __inline
+       #endif
+
+       /* Void_t is defined so that Void_t* can address any type */
+       #ifndef Void_t
+       #if __STD_C
+       #define Void_t          void
+       #else
+       #define Void_t          char
+       #endif
+       #endif /*Void_t*/
+
+       /* dynamic linked library external scope handling */
+       #undef extern
+       #if _dll_import && !defined(__EXPORT__) && _DLL_BLD
+       #define __EXPORT__      __declspec(dllexport)
+       #endif
+       #if _dll_import && !defined(__IMPORT__)
+       #define __IMPORT__      __declspec(dllimport)
+       #endif
+       #if !defined(_astimport)
+       #if defined(__IMPORT__) && _DLL_BLD
+       #define _astimport      __IMPORT__
+       #else
+       #define _astimport      extern
+       #endif
+       #endif /*_astimport*/
+}end
+
+cat{
+       #if !_DLL_BLD && _dll_import
+       #define __EXTERN__(T,obj)       extern T obj; T* _imp__ ## obj = &obj
+       #define __DEFINE__(T,obj,val)   T obj = val; T* _imp__ ## obj = &obj
+       #else
+       #define __EXTERN__(T,obj)       extern T obj
+       #define __DEFINE__(T,obj,val)   T obj = val
+       #endif
+}end
+
+cat{
+       #ifndef _AST_STD_H
+       #       if _hdr_stddef
+       #       include <stddef.h>
+       #       endif
+       #       if _sys_types
+       #       include <sys/types.h>
+       #       endif
+       #endif
+       #if !_typ_size_t
+       #       define _typ_size_t      1
+               typedef int size_t;
+       #endif
+       #if !_typ_ssize_t
+       #       define _typ_ssize_t     1
+               typedef int ssize_t;
+       #endif
+}end
+
+tst    - -DN=0 - -DN=1 - -DN=2 - -DN=3 - -DN=4 - -DN=5 - -DN=6 - -DN=7 - -DN=8 output{
+       #define _BYTESEX_H
+
+       #if _STD_
+       #include        <stddef.h>
+       #else
+       #include        <sys/types.h>
+       #endif
+
+       _BEGIN_EXTERNS_
+       extern int      printf _ARG_((const char*, ...));
+       _END_EXTERNS_
+       
+       #if N == 0
+       #define _ast_int8_t     long
+       #define _ast_int8_str   "long"
+       #endif
+       #if N == 1
+       #define _ast_int8_t     long long
+       #define _ast_int8_str   "long long"
+       #endif
+       #if N == 2
+       #define _ast_int8_t     __int64_t
+       #define _ast_int8_str   "__int64_t"
+       #endif
+       #if N == 3
+       #define _ast_int8_t     _int64_t
+       #define _ast_int8_str   "_int64_t"
+       #endif
+       #if N == 4
+       #define _ast_int8_t     int64_t
+       #define _ast_int8_str   "int64_t"
+       #endif
+       #if N == 5
+       #define _ast_int8_t     __int64
+       #define _ast_int8_str   "__int64"
+       #endif
+       #if N == 6
+       #define _ast_int8_t     _int64
+       #define _ast_int8_str   "_int64"
+       #endif
+       #if N == 7
+       #define _ast_int8_t     int64
+       #define _ast_int8_str   "int64"
+       #endif
+
+       #define elementsof(x)   (sizeof(x)/sizeof(x[0]))
+       
+       static char             i_char = 1;
+       static short            i_short = 1;
+       static int              i_int = 1;
+       static long             i_long = 1;
+       #ifdef _ast_int8_t
+       static _ast_int8_t      i_long_long = 1;
+       #endif
+       
+       static struct
+       {
+               char*   name;
+               int     size;
+               char*   swap;
+       } int_type[] = 
+       {
+               "char",         sizeof(char),           (char*)&i_char,
+               "short",        sizeof(short),          (char*)&i_short,
+               "int",          sizeof(int),            (char*)&i_int,
+               "long",         sizeof(long),           (char*)&i_long,
+       #ifdef _ast_int8_t
+               _ast_int8_str,  sizeof(_ast_int8_t),    (char*)&i_long_long,
+       #endif
+       };
+       
+       static struct
+       {
+               char*   name;
+               int     size;
+       } flt_type[] = 
+       {
+               "float",        sizeof(float),
+               "double",       sizeof(double),
+       #ifdef _typ_long_double
+               "long double",  sizeof(long double),
+       #endif
+       };
+       
+       static int      int_size[] = { 1, 2, 4, 8 };
+       
+       main()
+       {
+               register int    t;
+               register int    s;
+               register int    m = 1;
+               register int    b = 1;
+               register int    w = 0;
+       
+       #ifdef _ast_int8_t
+               if (int_type[elementsof(int_type)-1].size <= 4)
+                       return 1;
+       #endif
+               for (s = 0; s < elementsof(int_size); s++)
+               {
+                       for (t = 0; t < elementsof(int_type); t++)
+                               if(int_type[t].size >= int_size[s])
+                                       break;
+                       if (t < elementsof(int_type))
+                       {
+                               m = int_size[s];
+                               printf("#define _ast_int%d_t\t\t%s\n",
+                                       m, int_type[t].name);
+                               if (m > 1)
+                               {
+                                       if (*int_type[t].swap)
+                                               w |= b;
+                                       b <<= 1;
+                               }
+                       }
+               }
+               printf("#define _ast_intmax_t           _ast_int%d_t\n", m);
+               if (m == sizeof(long))
+                       printf("#define _ast_intmax_long                1\n");
+               printf("#define _ast_intswap            %d\n", w);
+               printf("\n");
+               for (t = 0; t < elementsof(flt_type); t++)
+               {
+                       for(; t < elementsof(flt_type); t++)
+                               if(flt_type[t].size != flt_type[t + 1].size)
+                                       break;
+                       m = flt_type[t].size;
+                       printf("#define _ast_flt%d_t\t\t%s\n",
+                               flt_type[t].size, flt_type[t].name);
+               }
+               printf("#define _ast_fltmax_t           _ast_flt%d_t\n", m);
+               if (m == sizeof(double))
+                       printf("#define _ast_fltmax_double              1\n");
+               return 0;
+       }
+}end
+
+tst - -DTRY=1 - -DTRY=1 -Dvoid=char - -DTRY=2 - -DTRY=3 - -DTRY=4 output{
+       #define printf  ______printf
+       #ifdef __STDC__
+       #include <stdarg.h>
+       #else
+       #include <varargs.h>
+       #endif
+       #undef  printf
+       _BEGIN_EXTERNS_
+       extern int      printf _ARG_((const char*, ...));
+       _END_EXTERNS_
+       static va_list ap;
+       main()
+       {
+       #if TRY == 4
+               printf("\n#ifndef va_listref\n");
+               printf("#define va_listref(p) (&(p))\t");
+                       printf("/* pass va_list to varargs function */\n");
+               printf("#define va_listval(p) (*(p))\t");
+                       printf("/* retrieve va_list from va_arg(ap,va_listarg) */\n");
+               printf("#define va_listarg va_list*\t");
+                       printf("/* va_arg() va_list type */\n");
+       #else
+       #if TRY == 1
+               *ap++;
+       #endif /*TRY == 1*/
+       #if TRY == 2
+               *ap;
+       #endif /*TRY == 2*/
+       #if TRY == 3
+               ap++;
+       #endif /*TRY == 3*/
+
+               printf("\n#ifndef va_listref\n");
+               printf("#define va_listref(p) (p)\t");
+                       printf("/* pass va_list to varargs function */\n");
+               printf("#define va_listval(p) (p)\t");
+                       printf("/* retrieve va_list from va_arg(ap,va_listarg) */\n");
+       #if TRY == 2
+               printf("#define va_listarg va_list*\t");
+       #else
+               printf("#define va_listarg va_list\t");
+       #endif /*TRY == 2*/
+                       printf("/* va_arg() va_list type */\n");
+       #endif /*TRY == 4*/
+
+       #if defined(_WIN32) || !defined(va_copy)
+               printf("#ifndef va_copy\n");
+       #if TRY == 2
+               printf("#define va_copy(to,fr) memcpy(to,fr,sizeof(va_list))\t");
+                       printf("/* copy va_list fr -> to */\n");
+       #else
+               printf("#define va_copy(to,fr) ((to)=(fr))\t");
+                       printf("/* copy va_list fr -> to */\n");
+       #endif
+               printf("#endif\n");
+       #endif
+
+       printf("#undef  _ast_va_list\n");
+       printf("#ifdef  va_start\n");
+       printf("#define _ast_va_list va_list\n");
+       printf("#else\n");
+       #if TRY == 1 || TRY == 2
+               printf("#define _ast_va_list void*\t");
+       #else
+       #if TRY == 3
+               if (sizeof(va_list) == sizeof(long))
+                       printf("#define _ast_va_list long\t");
+               else if (sizeof(va_list) == sizeof(short))
+                       printf("#define _ast_va_list short\t");
+               else
+                       printf("#define _ast_va_list int\t");
+       #else
+               printf("#define _ast_va_list ...\t");
+       #endif
+       #endif
+               printf("/* va_list that avoids #include */\n");
+               printf("#endif\n\n");
+               printf("#endif\n");
+               return 0;
+       }
+}end