summaryrefslogtreecommitdiff
path: root/x11
diff options
context:
space:
mode:
authorJoe Marcus Clarke <marcus@FreeBSD.org>2004-03-14 07:21:15 +0000
committerJoe Marcus Clarke <marcus@FreeBSD.org>2004-03-14 07:21:15 +0000
commit2f0ba56ebed175784ac9fc4423f73de07bc9419c (patch)
tree3e6666c5adffed2ded6c180cf39e901532cd3a4c /x11
parent- Update to version 1.0.6 (diff)
Add Xalloca.h to the distribution to fix libXt.
Obtained from: Freedesktop CVS repo
Notes
Notes: svn path=/head/; revision=103966
Diffstat (limited to 'x11')
-rw-r--r--x11/xproto/Makefile5
-rw-r--r--x11/xproto/files/Xalloca.h139
-rw-r--r--x11/xproto/files/patch-Makefile.in10
-rw-r--r--x11/xproto/pkg-plist1
4 files changed, 154 insertions, 1 deletions
diff --git a/x11/xproto/Makefile b/x11/xproto/Makefile
index 489db2eed3a3..7c89ffad147b 100644
--- a/x11/xproto/Makefile
+++ b/x11/xproto/Makefile
@@ -7,7 +7,7 @@
PORTNAME= xproto
PORTVERSION= 6.6.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= x11
MASTER_SITES= http://pdx.freedesktop.org/~xlibs/release/
@@ -22,4 +22,7 @@ USE_GMAKE= yes
NO_BUILD= yes
USE_GNOME= gnomehack
+post-extract:
+ @${CP} ${FILESDIR}/Xalloca.h ${WRKSRC}
+
.include <bsd.port.mk>
diff --git a/x11/xproto/files/Xalloca.h b/x11/xproto/files/Xalloca.h
new file mode 100644
index 000000000000..0db456a8620b
--- /dev/null
+++ b/x11/xproto/files/Xalloca.h
@@ -0,0 +1,139 @@
+/* $Xorg: Xalloca.h,v 1.4 2001/02/09 02:03:22 xorgcvs Exp $ */
+
+/*
+
+Copyright 1995, 1998 The Open Group
+
+Permission to use, copy, modify, distribute, and sell this software and its
+documentation for any purpose is hereby granted without fee, provided that
+the above copyright notice appear in all copies and that both that
+copyright notice and this permission notice appear in supporting
+documentation.
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the name of The Open Group shall
+not be used in advertising or otherwise to promote the sale, use or
+other dealings in this Software without prior written authorization
+from The Open Group.
+
+*/
+/* $XFree86: xc/include/Xalloca.h,v 3.10 2001/12/14 19:53:25 dawes Exp $ */
+
+/*
+ * The purpose of this header is to define the macros ALLOCATE_LOCAL and
+ * DEALLOCATE_LOCAL appropriately for the platform being compiled on.
+ * These macros are used to make fast, function-local memory allocations.
+ * Their characteristics are as follows:
+ *
+ * void *ALLOCATE_LOCAL(int size)
+ * Returns a pointer to size bytes of memory, or NULL if the allocation
+ * failed. The memory must be freed with DEALLOCATE_LOCAL before the
+ * function that made the allocation returns. You should not ask for
+ * large blocks of memory with this function, since on many platforms
+ * the memory comes from the stack, which may have limited size.
+ *
+ * void DEALLOCATE_LOCAL(void *)
+ * Frees the memory allocated by ALLOCATE_LOCAL. Omission of this
+ * step may be harmless on some platforms, but will result in
+ * memory leaks or worse on others.
+ *
+ * Before including this file, you should define two macros,
+ * ALLOCATE_LOCAL_FALLBACK and DEALLOCATE_LOCAL_FALLBACK, that have the
+ * same characteristics as ALLOCATE_LOCAL and DEALLOCATE_LOCAL. The
+ * header uses the fallbacks if it doesn't know a "better" way to define
+ * ALLOCATE_LOCAL and DEALLOCATE_LOCAL. Typical usage would be:
+ *
+ * #define ALLOCATE_LOCAL_FALLBACK(_size) malloc(_size)
+ * #define DEALLOCATE_LOCAL_FALLBACK(_ptr) free(_ptr)
+ * #include "Xalloca.h"
+ */
+
+#ifndef XALLOCA_H
+#define XALLOCA_H 1
+
+#ifdef INCLUDE_ALLOCA_H
+# include <alloca.h>
+#endif
+
+#ifndef NO_ALLOCA
+/*
+ * os-dependent definition of local allocation and deallocation
+ * If you want something other than (DE)ALLOCATE_LOCAL_FALLBACK
+ * for ALLOCATE/DEALLOCATE_LOCAL then you add that in here.
+ */
+# if defined(__HIGHC__)
+# ifndef NCR
+ extern char *alloca();
+# if HCVERSION < 21003
+# define ALLOCATE_LOCAL(size) alloca((int)(size))
+ pragma on(alloca);
+# else /* HCVERSION >= 21003 */
+# define ALLOCATE_LOCAL(size) _Alloca((int)(size))
+# endif /* HCVERSION < 21003 */
+# else /* NCR */
+# define ALLOCATE_LOCAL(size) alloca(size)
+# endif
+# endif /* defined(__HIGHC__) */
+
+
+# ifdef __GNUC__
+# ifndef alloca
+# define alloca __builtin_alloca
+# endif /* !alloca */
+# define ALLOCATE_LOCAL(size) alloca((int)(size))
+# else /* ! __GNUC__ */
+
+/*
+ * warning: old mips alloca (pre 2.10) is unusable, new one is built in
+ * Test is easy, the new one is named __builtin_alloca and comes
+ * from alloca.h which #defines alloca.
+ */
+# ifndef NCR
+# if defined(vax) || defined(sun) || defined(apollo) || defined(stellar) || defined(alloca)
+/*
+ * Some System V boxes extract alloca.o from /lib/libPW.a; if you
+ * decide that you don't want to use alloca, you might want to fix it here.
+ */
+/* alloca might be a macro taking one arg (hi, Sun!), so give it one. */
+# ifndef __sgi /* IRIX 5/6 has definition */
+# ifndef __QNX__
+# define __Xnullarg /* as nothing */
+# ifndef X_NOT_STDC_ENV
+ extern void *alloca(__Xnullarg);
+# else
+ extern char *alloca(__Xnullarg);
+# endif
+# endif /* __QNX__ */
+# endif /* __sgi */
+# define ALLOCATE_LOCAL(size) alloca((int)(size))
+# endif /* who does alloca */
+# endif /* NCR */
+# endif /* __GNUC__ */
+
+#endif /* NO_ALLOCA */
+
+#if !defined(ALLOCATE_LOCAL)
+# if defined(ALLOCATE_LOCAL_FALLBACK) && defined(DEALLOCATE_LOCAL_FALLBACK)
+# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK(_size)
+# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK(_ptr)
+# else /* no fallbacks supplied; error */
+# define ALLOCATE_LOCAL(_size) ALLOCATE_LOCAL_FALLBACK undefined!
+# define DEALLOCATE_LOCAL(_ptr) DEALLOCATE_LOCAL_FALLBACK undefined!
+# endif /* defined(ALLOCATE_LOCAL_FALLBACK && DEALLOCATE_LOCAL_FALLBACK) */
+#else
+# if !defined(DEALLOCATE_LOCAL)
+# define DEALLOCATE_LOCAL(_ptr) do {} while(0)
+# endif
+#endif /* defined(ALLOCATE_LOCAL) */
+
+#endif /* XALLOCA_H */
diff --git a/x11/xproto/files/patch-Makefile.in b/x11/xproto/files/patch-Makefile.in
new file mode 100644
index 000000000000..b4158cd8b28f
--- /dev/null
+++ b/x11/xproto/files/patch-Makefile.in
@@ -0,0 +1,10 @@
+--- Makefile.in.orig Sun Mar 14 02:08:42 2004
++++ Makefile.in Sun Mar 14 02:09:50 2004
+@@ -116,6 +116,7 @@
+ xprotoincludedir = $(includedir)/X11
+ xprotoinclude_HEADERS = \
+ X.h \
++ Xalloca.h \
+ Xarch.h \
+ Xatom.h \
+ Xdefs.h \
diff --git a/x11/xproto/pkg-plist b/x11/xproto/pkg-plist
index 80abca7cc40b..c86647e1e120 100644
--- a/x11/xproto/pkg-plist
+++ b/x11/xproto/pkg-plist
@@ -1,5 +1,6 @@
include/X11/X.h
include/X11/XF86keysym.h
+include/X11/Xalloca.h
include/X11/Xarch.h
include/X11/Xatom.h
include/X11/Xdefs.h