Browse Source

--- Merging r23003 into '.':
C packages/hermes/fpmake.pp
--- Merging r23004 into '.':
G packages/hermes/fpmake.pp
--- Merging r23015 into '.':
U packages/hermes/src/hermes.pp
C packages/hermes/Makefile.fpc.fpcmake
Summary of conflicts:
Text conflicts: 1
Tree conflicts: 1

# revisions: 23003,23004,23015
r23003 | nickysn | 2012-11-17 18:49:50 +0100 (Sat, 17 Nov 2012) | 1 line
Changed paths:
M /trunk/packages/hermes/fpmake.pp

* updated hermes fpmake.pp
r23004 | nickysn | 2012-11-17 19:11:35 +0100 (Sat, 17 Nov 2012) | 1 line
Changed paths:
M /trunk/packages/hermes/fpmake.pp

* fixed hermes author and license info - it's a full library translation and not just header translation, the original author is Christian Nentwich and the license of the pascal version is modified LGPL (changed from LGPL with Christian's permission)
r23015 | nickysn | 2012-11-18 16:46:32 +0100 (Sun, 18 Nov 2012) | 1 line
Changed paths:
M /trunk/packages/hermes/Makefile.fpc.fpcmake
M /trunk/packages/hermes/src/hermes.pp

* enable the assembler by default in hermes.pp

git-svn-id: branches/fixes_2_6@25922 -

marco 11 years ago
parent
commit
5cf1fa3bb0
4 changed files with 118 additions and 84 deletions
  1. 72 66
      packages/hermes/Makefile
  2. 9 1
      packages/hermes/Makefile.fpc
  3. 29 17
      packages/hermes/fpmake.pp
  4. 8 0
      packages/hermes/src/hermes.pp

+ 72 - 66
packages/hermes/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2013/01/27]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2013/10/30]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian i386-nativent i386-iphonesim m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded powerpc-wii sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-netbsd x86_64-solaris x86_64-openbsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded mipsel-linux
@@ -502,200 +502,206 @@ endif
 ifeq ($(FULL_TARGET),i386-haiku)
 override COMPILER_OPTIONS+=-dI386_ASSEMBLER
 endif
+ifeq ($(FULL_TARGET),x86_64-linux)
+override COMPILER_OPTIONS+=-dx86_64_ASSEMBLER
+endif
+ifeq ($(FULL_TARGET),x86_64-freebsd)
+override COMPILER_OPTIONS+=-dx86_64_ASSEMBLER
+endif
 ifeq ($(FULL_TARGET),i386-linux)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-haiku)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-nativent)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-iphonesim)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),powerpc-wii)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),x86_64-netbsd)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),x86_64-solaris)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),x86_64-openbsd)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),arm-darwin)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),avr-embedded)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),armeb-linux)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),armeb-embedded)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),mipsel-linux)
-override COMPILER_INCLUDEDIR+=src
+override COMPILER_INCLUDEDIR+=src $(ARCHINC)
 endif
 ifeq ($(FULL_TARGET),i386-linux)
 override COMPILER_SOURCEDIR+=src tests

+ 9 - 1
packages/hermes/Makefile.fpc

@@ -16,13 +16,21 @@ options_i386_go32v2=-dI386_ASSEMBLER
 options_i386_freebsd=-dI386_ASSEMBLER
 options_i386_haiku=-dI386_ASSEMBLER
 options_i386_beos=-dI386_ASSEMBLER
+options_x86_64_linux=-dx86_64_ASSEMBLER
+options_x86_64_win32=-dx86_64_ASSEMBLER
+options_x86_64_go32v2=-dx86_64_ASSEMBLER
+options_x86_64_freebsd=-dx86_64_ASSEMBLER
+options_x86_64_haiku=-dx86_64_ASSEMBLER
+options_x86_64_beos=-dx86_64_ASSEMBLER
 
 unitdir=
 targetdir=.
-includedir=src
+includedir=src $(ARCHINC)
 sourcedir=src tests
 
 [install]
+ARCHINC=src/$(ARCH)
+
 fpcpackage=y
 
 [default]

+ 29 - 17
packages/hermes/fpmake.pp

@@ -18,25 +18,31 @@ begin
 {$endif ALLPACKAGES}
     P.Version:='2.6.3';
 
-    P.Author := 'Library: Peter Mattis, Spencer Kimball and Josh MacDonald, header: Nikolay Nikolov';
-    P.License := 'Library: GPL2, header: LGPL with modification, ';
+    P.Author := 'Nikolay Nikolov (translation to Pascal), Christian Nentwich (original C version)';
+    P.License := 'LGPL with modification, ';
     P.HomepageURL := 'www.freepascal.org';
     P.Email := '';
     P.Description := 'Library for pixel graphics conversion';
-    P.NeedLibC:= true;  // true for headers that indirectly link to libc?
+    P.NeedLibC := false;
 
     P.SourcePath.Add('src');
     P.IncludePath.Add('src');
     P.IncludePath.Add('src/i386',[i386],AllOSes);
+    P.IncludePath.Add('src/x86_64',[x86_64],AllOSes);
 
 T:=P.Targets.AddUnit('hermes.pp');
   with T.Dependencies do
     begin
       AddInclude('hermdef.inc');
       AddInclude('hermconf.inc');
+<<<<<<< .working
       AddInclude('malloc.inc');
       AddInclude('debug.inc');
       AddInclude('dither.inc');
+=======
+      AddInclude('hermes_debug.inc');
+      AddInclude('hermes_dither.inc');
+>>>>>>> .merge-right.r23003
       AddInclude('headp.inc');
       AddInclude('p_16.inc');
       AddInclude('p_24.inc');
@@ -52,8 +58,11 @@ T:=P.Targets.AddUnit('hermes.pp');
       AddInclude('p_i8.inc');
       AddInclude('p_muhmu.inc');
       AddInclude('d_32.inc');
+<<<<<<< .working
       AddInclude('headi386.inc',[i386],AllOSes);
       AddInclude('headmmx.inc',[i386],AllOSes); 
+=======
+>>>>>>> .merge-right.r23003
       AddInclude('factconv.inc');
       AddInclude('list.inc');
       AddInclude('utility.inc');
@@ -62,6 +71,23 @@ T:=P.Targets.AddUnit('hermes.pp');
       AddInclude('convert.inc');
       AddInclude('clear.inc');
       AddInclude('factory.inc');
+      AddInclude('headi386.inc',[i386],AllOSes);
+      AddInclude('headmmx.inc',[i386],AllOSes);
+      AddInclude('mmx_clr.inc',[i386],AllOSes);
+      AddInclude('mmx_main.inc',[i386],AllOSes);
+      AddInclude('mmxp2_32.inc',[i386],AllOSes);
+      AddInclude('mmxp_32.inc',[i386],AllOSes);
+      AddInclude('x8616lut.inc',[i386],AllOSes);
+      AddInclude('x86_clr.inc',[i386],AllOSes);
+      AddInclude('x86_main.inc',[i386],AllOSes);
+      AddInclude('x86p_16.inc',[i386],AllOSes);
+      AddInclude('x86p_32.inc',[i386],AllOSes);
+      AddInclude('x86p_cpy.inc',[i386],AllOSes);
+      AddInclude('x86p_i8.inc',[i386],AllOSes);
+      AddInclude('x86p_s32.inc',[i386],AllOSes);
+      AddInclude('x86pscpy.inc',[i386],AllOSes);
+      AddInclude('headx86_64.inc',[x86_64],AllOSes);
+      AddInclude('x86_64_i8.inc',[x86_64],AllOSes);
    end;
 
 
@@ -70,17 +96,3 @@ T:=P.Targets.AddUnit('hermes.pp');
     end;
 end.
 {$endif ALLPACKAGES}
-
-// mmx_clr.as
-// mmx_main.as
-// mmxp2_32.as
-// mmxp_32.as
-// x8616lut.as
-// x86_clr.as
-// x86_main.as
-// x86p_16.as
-// x86p_32.as
-// x86p_cpy.as
-// x86p_i8.as
-// x86p_s32.as
-// x86pscpy.as');

+ 8 - 0
packages/hermes/src/hermes.pp

@@ -34,6 +34,14 @@ unit Hermes;
 
 {$MODE objfpc}
 
+{$IF defined(cpui386) and not defined(noassembler)}
+  {$DEFINE I386_ASSEMBLER}
+{$ENDIF}
+
+{$IF defined(cpux86_64) and not defined(noassembler)}
+  {$DEFINE X86_64_ASSEMBLER}
+{$ENDIF}
+
 interface
 
 const