[csw-devel] SF.net SVN: gar:[5829] csw/mgar/pkg/libatomic_ops/trunk

wahwah at users.sourceforge.net wahwah at users.sourceforge.net
Mon Aug 3 15:53:33 CEST 2009


Revision: 5829
          http://gar.svn.sourceforge.net/gar/?rev=5829&view=rev
Author:   wahwah
Date:     2009-08-03 13:53:33 +0000 (Mon, 03 Aug 2009)

Log Message:
-----------
libatomic_ops: Initial build

Modified Paths:
--------------
    csw/mgar/pkg/libatomic_ops/trunk/Makefile
    csw/mgar/pkg/libatomic_ops/trunk/checksums

Added Paths:
-----------
    csw/mgar/pkg/libatomic_ops/trunk/files/solaris-1.2.patch

Modified: csw/mgar/pkg/libatomic_ops/trunk/Makefile
===================================================================
--- csw/mgar/pkg/libatomic_ops/trunk/Makefile	2009-08-03 13:45:06 UTC (rev 5828)
+++ csw/mgar/pkg/libatomic_ops/trunk/Makefile	2009-08-03 13:53:33 UTC (rev 5829)
@@ -2,181 +2,19 @@
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
-## This file contains comments to guide you through various GAR settings.
-## Please remove unnecessary comments before committing your code to the code
-## repository. The comments to remove are marked with double hashes.
-## If you want to remove them all in-place, use:
-## gsed -i -e '/^##/d' Makefile
-##
-## For more information about GAR variables, please see:
-## https://sourceforge.net/apps/trac/gar/wiki/GAR%20Variable%20Reference
-##
-GARNAME = mypkg
-GARVERSION = 1.0
-##
-## The category that your software fits in. This is not a descriptive field, but
-## influences the build process. Depending on the CATEGORIES setting, different
-## Makefiles are included from gar/categories/ in your trunk directory, which
-## adjust the build settings for the respective category.
-##
-## Possible settings are:
-## apps, cpan, devel, gnome, java, kde, lang, lib, meta, net, server, utils, x11,
-## xfce, xorg, xtra
+GARNAME = libatomic-ops
+GARVERSION = 1.2
 CATEGORIES = lib
-##
-## A one-line description of the package, which will appear in the pkginfo.
-DESCRIPTION = <please fill in>
-##
-## A longer description of the package. This is only for descriptive purposes
-## inside the Makefile and is not used elsewhere. 
+DESCRIPTION = Portable library for atomic operations
 define BLURB
-  <please fill in>
 endef
-##
-## Upstream URL that should show up in the VENDOR field as well as on
-## http://opencsw.org/packages/<packagename>.
-SPKG_SOURCEURL =
-##
-## Whitespace-separated list of URLs to download the source package from.
-## There are presets: $(SF_MIRRORS), $(GNU_MIRRORS) and $(GOOGLE_MIRROR).
-MASTER_SITES = 
-##
-## SF_PROJ is required if you set $(MASTER_SITES) to $(SF_MIRRORS) and the
-## Sourceforge project name differs from $(GARNAME). Specifies the Sourceforge
-## project name of the software you wish to download. 
-## SF_PROJ =
-##
-## A list of space separated patch filenames from files/ that are to be applied
-## to the extracted software before the ./configure stage. Patches need to be
-## included in the DISTFILES variable as well.
-## PATCHFILES =
-##
-## Whitespace-separated list of files which comprise this build. mGAR will look
-## for the files in the $(FILEDIR) (trunk/files) directory and on the
-## $(MASTER_SITES).
-DISTFILES  = $(GARNAME)-$(GARVERSION).tar.gz
-##
-## We define upstream file regex so we can be notifed of new upstream software release
+SPKG_SOURCEURL = http://www.hpl.hp.com/research/linux/atomic_ops/
+MASTER_SITES = http://ftp.de.debian.org/debian/pool/main/liba/libatomic-ops/
+PATCHFILES = solaris-$(GARVERSION).patch
+DISTFILES  = $(GARNAME)_$(GARVERSION).orig.tar.gz $(PATCHFILES)
 UFILES_REGEX = $(GARNAME)-(\d+(?:\.\d+)*).tar.gz
-##
-## Catalog name is the name to be used with pkg{-get,util} -i <pkgname>.
-## It is different from the system package name, which by convention is CSWpkgname.
-## CATALOGNAME =
-##
-## Set to 1 to mark the package as architecture-independent.
-## ARCHALL = 0
-##
-## A list of files / patterns that should be excluded from the package. Amends
-## the default list of excluded filenames $(MERGE_EXCLUDE_DEFAULT), which
-## contains things like libtool .la files and files with a leading ~. 
-## EXTRA_MERGE_EXCLUDE_FILES =
-##
-## A list of space separated package names that should be marked as
-## incompatible with the current package. This will go into the depend file.
-## When a user has one of the incompatible packages installed and installs
-## your package, he will be prompted that the incompatible package must be
-## removed. He will however not be prevented to install your package without
-## removing the conflicting package first. 
-## INCOMPATIBLE_PKGS =
-##
-##  The name of the license file that should be included in your package. Defaults
-##  to COPYING. See http://sourceforge.net/apps/trac/gar/wiki/CopyRightfor details
-##  on including and displaying licenses. 
-## LICENSE =
-##
-## A list of space separated package names that should be produced from your
-## Makefile. This is used when a software has different components that can be
-## packaged and used individually (think runtime libraries, client tools, server
-## files, development headers). You don't need to set this when you just want to
-## produce one package. 
-##
-## When you set this variable to include more than one package, you also need to
-## set PKGFILES_CSWpkgname for each package (except for the first one in your
-## $(PACKAGES) list) to define which files go into each package. The first
-## package from $(PACKAGES) one will hold all files that are not matched by
-## PKGFILES_ for other packages.
-## PACKAGES =
-##
-## If specified, GAR feeds the almost-final package prototype file to
-## $(PROTOTYPE_FILTER) and reads the final package prototype file from it.
-## $(PROTOTYPE_FILTER) is usually a sed/awk/perl one-liner, which was mostly used
-## to prepare the prototype file for use with cswclassutils (see
-## $(SPKG_CLASSES)). Now that there are convenience variables for cswclassutils,
-## you will rarely have to use this. A still valid use case would be to change
-## the file permissions of a file to be set-UID. 
-## See http://wiki.opencsw.org/cswclassutils-package for common usage information
-## PROTOTYPE_FILTER =
-##
-## cswclassutils settings
-##
-## A list of action classes. Possible values are:
-## none cswpreserveconf cswcpsampleconf cswpycompile cswusergroup cswinitsmf
-## The class 'cswinitsmf' must be the last class listed. When you use cswclassutils,
-## you need to add CSWcswclassutils to REQUIRED_PKGS.
-## SPKG_CLASSES = none
-## Simplified settings for classes:
-## PRESERVECONF =
-## SAMPLECONF =
-## INITSMF =
-## USERGROUP =
-## A list of runtime package dependencies in the form of CSWfoo.
-## REQUIRED_PKGS =
-##
-## A list of packages necessary to build this package
-## PREREQUISITE_PKGS = $(REQUIRED_PKGS)
-##
-## When using non-empty $(PACKAGES):
-## REQUIRED_PKGS_CSWpkgname =
-## SPKG_DESC_CSWpkgname =
-## PKGFILES_CSWpkgname =
-## CATALOGNAME_CSWpkgname =
-##
-## A list of space separated directories where objects should be stripped in
-## addition to the bin/ and sbin/ directories.
-## STRIP_DIRS =
-##
-## Define a custom target for the configure phase. When you set this, the target
-## that will be used instead of configure: target, is named
-## configure-$(CONFIGURE_SCRIPTS) and you will need to define it in your Makefile
-## after including gar/gar.include.mk. If you want to skip the configure phase
-## completely (for example when your software doesn't need to be compiled) assign
-## this variable an empty value. The procedure works for configure, build,
-## install and test steps.
-## CONFIGURE_SCRIPTS =
-## BUILD_SCRIPTS =
-## INSTALL_SCRIPTS =
-## TEST_SCRIPTS =
-##
-## Compilation settings
-##
-## The build directory.
-## WORKSRC = $(WORKDIR)/$(GARNAME)-$(GARVERSION)
-##
-## BUILD_ARGS is passed as an argument to gmake during the build phase. Use this
-## for example, if you need to override Makefile variables. 
-## BUILD_ARGS =
-##
-## Arguments passed to the ./configure script.
+CATALOGNAME = libatomic_ops
+TEST_SCRIPTS =
+WORKSRC = $(WORKDIR)/$(CATALOGNAME)-$(GARVERSION)
 CONFIGURE_ARGS = $(DIRPATHS)
-##
-## BUILD64 =
-## CONFIGURE_ENV =
-## EXTRA_CFLAGS =
-## EXTRA_LDFLAGS =
-## EXTRA_INC =
-## EXTRA_LIB =
-## GARFLAVOR =
-## INSTALL_ARGS =
-## OPT_FLAGS_SOS = -xO3
-## OPT_FLAGS_GCC = -O2 -pipe
-##
-## The compiler to use. Defaults to SOS11, can be also: SOS12, GCC3, GCC4.
-## GARCOMPILER = SOS11
-##
-# Remove the following rules and uncomment the
-# include before building.
-all: .DEFAULT
-.DEFAULT:
-	@true
-
-#include gar/category.mk
+include gar/category.mk

Modified: csw/mgar/pkg/libatomic_ops/trunk/checksums
===================================================================
--- csw/mgar/pkg/libatomic_ops/trunk/checksums	2009-08-03 13:45:06 UTC (rev 5828)
+++ csw/mgar/pkg/libatomic_ops/trunk/checksums	2009-08-03 13:53:33 UTC (rev 5829)
@@ -0,0 +1,3 @@
+1b65e48271c81e3fa2d7a9a69bab7504  download/libatomic-ops_1.2.orig.tar.gz
+fca04d6cd324073bc97a57480aa80d12  download/solaris-1.2.patch
+

Added: csw/mgar/pkg/libatomic_ops/trunk/files/solaris-1.2.patch
===================================================================
--- csw/mgar/pkg/libatomic_ops/trunk/files/solaris-1.2.patch	                        (rev 0)
+++ csw/mgar/pkg/libatomic_ops/trunk/files/solaris-1.2.patch	2009-08-03 13:53:33 UTC (rev 5829)
@@ -0,0 +1,61 @@
+diff --git a/src/atomic_ops.h b/src/atomic_ops.h
+index c23f30b..084ce91 100755
+--- a/src/atomic_ops.h
++++ b/src/atomic_ops.h
+@@ -245,6 +245,12 @@
+ #   define AO_CAN_EMUL_CAS
+ #endif
+ 
++#if !defined(__GNUC__) && defined(__sun) && !defined(sparc) \
++    && !defined(__sparc)
++#   include "atomic_ops/sysdeps/sunc/x86.h"
++#   define AO_CAN_EMUL_CAS
++#endif
++
+ #if defined(_MSC_VER)
+ # if _M_IX86 >= 400
+ #   include "atomic_ops/sysdeps/msftc/x86.h"
+diff --git a/src/atomic_ops/sysdeps/sunc/x86.h b/src/atomic_ops/sysdeps/sunc/x86.h
+new file mode 100644
+index 0000000..3578722
+--- /dev/null
++++ b/src/atomic_ops/sysdeps/sunc/x86.h
+@@ -0,0 +1,38 @@
++/*
++ * Copyright (c) 2004 Hewlett-Packard Development Company, L.P.
++ * 
++ * Permission is hereby granted, free of charge, to any person obtaining a copy
++ * of this software and associated documentation files (the "Software"), to deal
++ * in the Software without restriction, including without limitation the rights
++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++ * copies of the Software, and to permit persons to whom the Software is
++ * furnished to do so, subject to the following conditions:
++ * 
++ * 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
++ * AUTHORS OR COPYRIGHT HOLDERS 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. 
++ */
++
++#include "../all_atomic_load_store.h"
++
++/* Real SPARC code uses TSO:                            */
++#include "../ordered_except_wr.h"
++
++/* Test_and_set location is just a byte.		*/
++#include "../test_and_set_t_is_char.h"
++
++extern AO_TS_VAL_t
++AO_test_and_set_full(volatile AO_TS_t *addr);
++/* Implemented in separate .S file, for now.	*/
++
++#define AO_HAVE_test_and_set_full
++
++/* FIXME: Like the gcc version, this needs to be extended for V8 	*/
++/* and V9.								*/


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the devel mailing list