Files
haikuports/haiku-apps/becasso/patches/becasso-2.0.patchset
Jerome Duval 8920d413be becasso: build for x86_64.
* incomplete: i386 asm would still have to be ported, there is no C alternative.
* checking the architecture in Jamfiles looks like a hack (check for the
presence of kernel_x86_64).
2017-01-22 15:15:38 +01:00

1069 lines
31 KiB
Plaintext

From aac227cdfe1d8038cacc423706d0c29ca380c794 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Sun, 22 Jan 2017 13:55:08 +0100
Subject: build on x86_64.
* caveats: x86 asm can't be easily ported, only stubs now.
diff --git a/source/AboutView.cpp b/source/AboutView.cpp
index 887af6f..0da560a 100644
--- a/source/AboutView.cpp
+++ b/source/AboutView.cpp
@@ -2,6 +2,7 @@
#include "Colors.h"
#include <Application.h>
#include <stdio.h>
+#include <string.h>
#include "Settings.h"
SAboutView::SAboutView (BRect rect, BBitmap *becasso, BBitmap *sum, bool startup)
diff --git a/source/AttribBrush.cpp b/source/AttribBrush.cpp
index 063ae36..959f0be 100644
--- a/source/AttribBrush.cpp
+++ b/source/AttribBrush.cpp
@@ -3,8 +3,9 @@
#include <Box.h>
#include <Picture.h>
#include <math.h>
-#include <string.h>
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include "Settings.h"
static property_info prop_list[] = {
@@ -369,4 +370,4 @@ void AttribBrush::MessageReceived (BMessage *msg)
inherited::MessageReceived (msg);
}
bv->Invalidate();
-}
\ No newline at end of file
+}
diff --git a/source/AttribClone.cpp b/source/AttribClone.cpp
index 07781e1..7781371 100644
--- a/source/AttribClone.cpp
+++ b/source/AttribClone.cpp
@@ -3,8 +3,9 @@
#include <Box.h>
#include <Picture.h>
#include <math.h>
-#include <string.h>
+#include <stdlib.h>
#include <stdio.h>
+#include <string.h>
#include "Settings.h"
static property_info prop_list[] = {
@@ -369,4 +370,4 @@ void AttribClone::MessageReceived (BMessage *msg)
inherited::MessageReceived (msg);
}
bv->Invalidate();
-}
\ No newline at end of file
+}
diff --git a/source/AttribPolyblob.cpp b/source/AttribPolyblob.cpp
index bade3cd..1bba62f 100644
--- a/source/AttribPolyblob.cpp
+++ b/source/AttribPolyblob.cpp
@@ -24,27 +24,30 @@ AttribPolyblob::AttribPolyblob ()
type->SetLabel (lstring (311, "Type"));
AddChild (type);
+ BPoint pointArray[] = {
+ BPoint ( 2, 8),
+ BPoint ( 3, 4),
+ BPoint ( 6, 3),
+ BPoint ( 9, 2),
+ BPoint (12, 3),
+ BPoint (20, 5),
+ BPoint (23, 7),
+ BPoint (27, 12),
+ BPoint (26, 15),
+ BPoint (24, 20),
+ BPoint (22, 23),
+ BPoint (19, 28),
+ BPoint (18, 28),
+ BPoint (16, 23),
+ BPoint (15, 20),
+ BPoint (13, 21),
+ BPoint (11, 23),
+ BPoint ( 6, 22),
+ BPoint ( 4, 15),
+ BPoint ( 3, 10)
+ };
BPolygon *poly = new BPolygon();
- poly->AddPoints (&BPoint ( 2, 8), 1);
- poly->AddPoints (&BPoint ( 3, 4), 1);
- poly->AddPoints (&BPoint ( 6, 3), 1);
- poly->AddPoints (&BPoint ( 9, 2), 1);
- poly->AddPoints (&BPoint (12, 3), 1);
- poly->AddPoints (&BPoint (20, 5), 1);
- poly->AddPoints (&BPoint (23, 7), 1);
- poly->AddPoints (&BPoint (27, 12), 1);
- poly->AddPoints (&BPoint (26, 15), 1);
- poly->AddPoints (&BPoint (24, 20), 1);
- poly->AddPoints (&BPoint (22, 23), 1);
- poly->AddPoints (&BPoint (19, 28), 1);
- poly->AddPoints (&BPoint (18, 28), 1);
- poly->AddPoints (&BPoint (16, 23), 1);
- poly->AddPoints (&BPoint (15, 20), 1);
- poly->AddPoints (&BPoint (13, 21), 1);
- poly->AddPoints (&BPoint (11, 23), 1);
- poly->AddPoints (&BPoint ( 6, 22), 1);
- poly->AddPoints (&BPoint ( 4, 15), 1);
- poly->AddPoints (&BPoint ( 3, 10), 1);
+ poly->AddPoints(pointArray, 20);
BWindow *picWindow = new BWindow (BRect (0, 0, 100, 100), "Temp Pic Window", B_BORDERED_WINDOW, uint32 (NULL), uint32 (NULL));
BView *bg = new BView (BRect (0, 0, 100, 100), "Temp Pic View", uint32 (NULL), uint32 (NULL));
@@ -265,4 +268,4 @@ void AttribPolyblob::MessageReceived (BMessage *msg)
inherited::MessageReceived (msg);
break;
}
-}
\ No newline at end of file
+}
diff --git a/source/AttribPolygon.cpp b/source/AttribPolygon.cpp
index 57a500f..f9b035d 100644
--- a/source/AttribPolygon.cpp
+++ b/source/AttribPolygon.cpp
@@ -26,15 +26,18 @@ AttribPolygon::AttribPolygon ()
BBox *type = new BBox (BRect (18, 32, 130, 82), "type");
type->SetLabel (lstring (311, "Type"));
AddChild (type);
-
+
+ BPoint pointArray[] = {
+ BPoint ( 2, 8),
+ BPoint ( 9, 2),
+ BPoint (27, 12),
+ BPoint (19, 28),
+ BPoint (14, 20),
+ BPoint ( 9, 26)
+ };
BPolygon *poly = new BPolygon();
- poly->AddPoints (&BPoint ( 2, 8), 1);
- poly->AddPoints (&BPoint ( 9, 2), 1);
- poly->AddPoints (&BPoint (27, 12), 1);
- poly->AddPoints (&BPoint (19, 28), 1);
- poly->AddPoints (&BPoint (14, 20), 1);
- poly->AddPoints (&BPoint ( 9, 26), 1);
-
+ poly->AddPoints(pointArray, 6);
+
BWindow *picWindow = new BWindow (BRect (0, 0, 100, 100), "Temp Pic Window", B_BORDERED_WINDOW, uint32 (NULL), uint32 (NULL));
BView *bg = new BView (BRect (0, 0, 100, 100), "Temp Pic View", uint32 (NULL), uint32 (NULL));
picWindow->AddChild (bg);
@@ -254,4 +257,4 @@ void AttribPolygon::MessageReceived (BMessage *msg)
inherited::MessageReceived (msg);
break;
}
-}
\ No newline at end of file
+}
diff --git a/source/Becasso.cpp b/source/Becasso.cpp
index cc19cf1..4d32f68 100644
--- a/source/Becasso.cpp
+++ b/source/Becasso.cpp
@@ -942,7 +942,7 @@ void Becasso::MessageReceived (BMessage *message)
canvas *current = (canvas *) canvases.ItemAt (i);
if (its_looper == current->its_looper)
{
- delete (canvases.RemoveItem (i));
+ delete ((canvas *) canvases.RemoveItem (i));
break;
}
}
diff --git a/source/BecassoAddOn.h b/source/BecassoAddOn.h
index 03d697b..936d626 100644
--- a/source/BecassoAddOn.h
+++ b/source/BecassoAddOn.h
@@ -12,12 +12,7 @@
class BView;
-// The following is for exporting the necessary symbols.
-#if !defined (BUILDING_BECASSO) || defined (BUILDING_ADDON)
-# define ADDON_EXPORT __declspec(dllexport)
-#else
-# define ADDON_EXPORT __declspec(dllimport)
-#endif
+# define ADDON_EXPORT
// Undefined Hue - some of the HSV functions from Becasso can return this.
#define HUE_UNDEF -1.0
diff --git a/source/Build.h b/source/Build.h
index 7646f07..6d93cd6 100644
--- a/source/Build.h
+++ b/source/Build.h
@@ -1,10 +1,6 @@
#ifndef _BUILD_H
#define _BUILD_H
-#if defined (BUILDING_BECASSO)
-# define IMPEXP __declspec(dllexport)
-#else
-# define IMPEXP __declspec(dllimport)
-#endif
+#define IMPEXP
#endif
diff --git a/source/CanvasTools.cpp b/source/CanvasTools.cpp
index ce5db99..e2247f1 100644
--- a/source/CanvasTools.cpp
+++ b/source/CanvasTools.cpp
@@ -3071,8 +3071,8 @@ inline bool CanvasView::inbounds (LPoint p)
inline bool CanvasView::isfillcolor0 (LPoint point)
{
- uint32 *addr = bbitsl + bbprl*point.y + point.x;
- return (*addr == fill32 || (!(fill32 & ALPHA_MASK) && !(*addr & ALPHA_MASK)));
+ ulong *addr = bbitsl + bbprl*point.y + point.x;
+ return (*(uint32*)addr == fill32 || (!(fill32 & ALPHA_MASK) && !(*addr & ALPHA_MASK)));
}
inline bool CanvasView::isfillcolorrgb (LPoint point, uchar *t)
@@ -3158,7 +3158,7 @@ void CanvasView::tFill (int32 mode, BPoint point, uint32 buttons, rgb_color *c)
tbits = (uchar *) temp->Bits();
tbpr = temp->BytesPerRow();
tbprl = tbpr/4;
- bbitsl = (uint32 *) currentLayer()->Bits();
+ bbitsl = (ulong *) currentLayer()->Bits();
bbits = (uchar *) bbitsl;
bbpr = currentLayer()->BytesPerRow();
bbprl = bbpr/4;
diff --git a/source/CanvasView.cpp b/source/CanvasView.cpp
index c1b60b0..e6b4576 100644
--- a/source/CanvasView.cpp
+++ b/source/CanvasView.cpp
@@ -5378,7 +5378,7 @@ void CanvasView::Paste (bool winAct)
inDrag ? "true" : "false");
}
BPoint point;
- ulong buttons;
+ uint32 buttons;
GetMouse (&point, &buttons, true);
if (inPaste)
{
diff --git a/source/ColorWindow.cpp b/source/ColorWindow.cpp
index 7d8f85b..c91ad01 100644
--- a/source/ColorWindow.cpp
+++ b/source/ColorWindow.cpp
@@ -236,9 +236,9 @@ void ColorWindow::MessageReceived (BMessage *msg)
case 'SetC':
{
char s[16];
- c.red = msg->FindInt32 ("color", 0L);
- c.green = msg->FindInt32 ("color", 1L);
- c.blue = msg->FindInt32 ("color", 2L);
+ c.red = msg->FindInt32 ("color", 0);
+ c.green = msg->FindInt32 ("color", 1);
+ c.blue = msg->FindInt32 ("color", 2);
int32 alpha;
if (msg->FindInt32 ("alpha", &alpha) == B_OK)
{
@@ -312,9 +312,9 @@ void ColorWindow::MessageReceived (BMessage *msg)
case 'CSQc':
{
char s[16];
- c.red = msg->FindInt32 ("color", 0L);
- c.green = msg->FindInt32 ("color", 1L);
- c.blue = msg->FindInt32 ("color", 2L);
+ c.red = msg->FindInt32 ("color", 0);
+ c.green = msg->FindInt32 ("color", 1);
+ c.blue = msg->FindInt32 ("color", 2);
sprintf (s, "%i", c.red);
rTC->SetText (s);
sprintf (s, "%i", c.green);
@@ -328,9 +328,9 @@ void ColorWindow::MessageReceived (BMessage *msg)
{
char s[16];
hsv_color h;
- h.hue = msg->FindFloat ("color", 0L);
- h.saturation = msg->FindFloat ("color", 1L);
- h.value = msg->FindFloat ("color", 2L);
+ h.hue = msg->FindFloat ("color", 0);
+ h.saturation = msg->FindFloat ("color", 1);
+ h.value = msg->FindFloat ("color", 2);
sprintf (s, "%3.0f", h.hue);
hTC->SetText (s);
sprintf (s, "%1.3f", h.saturation);
diff --git a/source/DragWindow.h b/source/DragWindow.h
index d9161ae..03bcc61 100644
--- a/source/DragWindow.h
+++ b/source/DragWindow.h
@@ -3,6 +3,7 @@
#include <Window.h>
#include <stdio.h>
+#include <string.h>
#include "Settings.h"
class DragWindow : public BWindow
@@ -42,4 +43,4 @@ private:
char fKind[64];
};
-#endif
\ No newline at end of file
+#endif
diff --git a/source/HelpView.cpp b/source/HelpView.cpp
index 1ab620b..cc871fa 100644
--- a/source/HelpView.cpp
+++ b/source/HelpView.cpp
@@ -1,4 +1,5 @@
#include "HelpView.h"
+#include <string.h>
HelpView::HelpView (const BRect frame, const char *name)
: BView (frame, name, B_FOLLOW_LEFT, B_WILL_DRAW)
@@ -29,4 +30,4 @@ void HelpView::setText (const char *t)
{
strcpy (text, t);
Invalidate();
-}
\ No newline at end of file
+}
diff --git a/source/Jamfile b/source/Jamfile
index 3a6f373..607cb7f 100644
--- a/source/Jamfile
+++ b/source/Jamfile
@@ -1,10 +1,16 @@
SubDir TOP source ;
-LINKLIBS on Becasso = -lbe -lz -ltracker -ltranslation -lgame -ldevice ;
+LINKLIBS on Becasso = -lbe -lz -ltracker -ltranslation -lgame -ldevice -lstdc++ ;
LINKFLAGS on Becasso = -Xlinker -soname=_APP_ ;
AS = nasm -f elf32 ;
+local have64bits = [ GLOB /system : kernel_x86_64 ] ;
+x86_sources = mmx_gcc.asm ;
+if $(have64bits) {
+ x86_sources = ;
+}
+
Main Becasso :
TabView.cpp
Slider.cpp
@@ -90,7 +96,7 @@ Main Becasso :
AddOn.cpp
AddOnWindow.cpp
AddOnSupport.cpp
- mmx_gcc.asm
+ $(x86_sources)
;
AddResources Becasso : Becasso.rsrc ;
diff --git a/source/MagView.cpp b/source/MagView.cpp
index 5b3a5ee..084a92e 100644
--- a/source/MagView.cpp
+++ b/source/MagView.cpp
@@ -67,7 +67,7 @@ void MagView::MouseDown (BPoint point)
extern ColorMenuButton *locolor, *hicolor;
BPoint p = BPoint (int (point.x/zoom), int (point.y/zoom));
BRect pix;
- ulong buttons = Window()->CurrentMessage()->FindInt32 ("buttons");
+ uint32 buttons = Window()->CurrentMessage()->FindInt32 ("buttons");
rgb_color hi;
if (modifiers() & B_OPTION_KEY)
{
@@ -346,4 +346,4 @@ status_t MagView::Redo ()
}
else
return B_ERROR;
-}
\ No newline at end of file
+}
diff --git a/source/MagWindow.h b/source/MagWindow.h
index 6ae438f..8984b35 100644
--- a/source/MagWindow.h
+++ b/source/MagWindow.h
@@ -22,6 +22,7 @@ virtual void MenusBeginning ();
float menubarHeight ();
private:
+typedef BWindow inherited;
MagView *magView;
BScrollBar *h, *v;
BMenuBar *menubar;
@@ -30,4 +31,4 @@ BWindow *myWindow;
float menubarheight;
};
-#endif
\ No newline at end of file
+#endif
diff --git a/source/PatternMenu.h b/source/PatternMenu.h
index 1136617..630e3d3 100644
--- a/source/PatternMenu.h
+++ b/source/PatternMenu.h
@@ -11,6 +11,8 @@
#define MAX_PATTERNS 20
+class PatternMenuButton;
+
class PatternMenu : public BMenu
{
friend class PatternMenuButton;
@@ -40,4 +42,4 @@ BView *view;
float hs, vs;
};
-#endif
\ No newline at end of file
+#endif
diff --git a/source/PointStack.cpp b/source/PointStack.cpp
index 7f983cb..92e854f 100644
--- a/source/PointStack.cpp
+++ b/source/PointStack.cpp
@@ -1,5 +1,6 @@
#include "PointStack.h"
#include <stdio.h>
+#include <stdlib.h>
PointStack::PointStack ()
{
diff --git a/source/PrefsWindow.cpp b/source/PrefsWindow.cpp
index 5789b4b..767cae3 100644
--- a/source/PrefsWindow.cpp
+++ b/source/PrefsWindow.cpp
@@ -11,6 +11,7 @@
#include "PrefsWindow.h"
#include "Colors.h"
#include <stdio.h>
+#include <string.h>
#include "Settings.h"
#include <Path.h>
#include <Entry.h>
diff --git a/source/SBitmap.cpp b/source/SBitmap.cpp
index 2c74c53..4135881 100644
--- a/source/SBitmap.cpp
+++ b/source/SBitmap.cpp
@@ -2,6 +2,7 @@
#include "SBitmap.h"
#include <stdlib.h>
+#include <string.h>
#include <Debug.h>
SBitmap::SBitmap (BBitmap *src)
diff --git a/source/Selection.cpp b/source/Selection.cpp
index 4844b4c..2bd9316 100644
--- a/source/Selection.cpp
+++ b/source/Selection.cpp
@@ -3,8 +3,6 @@
#include <stdlib.h>
#include <string.h>
-#define bzero(p,n) memset(p,0,n)
-
Selection::Selection (BRect bounds)
: BBitmap (bounds, B_BITMAP_ACCEPTS_VIEWS, B_GRAYSCALE_8_BIT)
{
@@ -28,4 +26,4 @@ Selection::~Selection ()
void Selection::ClearTo (grey_pixel p)
{
memset (Bits(), p, BitsLength());
-}
\ No newline at end of file
+}
diff --git a/source/Slider.cpp b/source/Slider.cpp
index c2a1dad..3e38a78 100644
--- a/source/Slider.cpp
+++ b/source/Slider.cpp
@@ -163,7 +163,7 @@ void Slider::MouseDown (BPoint point)
BPoint knobpos = BPoint (float (value - min)/(max - min)*(width - knobsize), 1);
knob = BRect (knobpos.x + 1, knobpos.y + 1, knobpos.x + knobsize - 2, knobpos.y + height - 2);
- ulong buttons;
+ uint32 buttons;
buttons = Window()->CurrentMessage()->FindInt32 ("buttons");
float px = -1;
bool dragging = false;
@@ -419,4 +419,4 @@ void Slider::NotifyTarget ()
target->MessageReceived (changed);
target->UnlockLooper();
delete changed;
-}
\ No newline at end of file
+}
diff --git a/source/TOTDWindow.cpp b/source/TOTDWindow.cpp
index 5068acd..31f940a 100644
--- a/source/TOTDWindow.cpp
+++ b/source/TOTDWindow.cpp
@@ -2,6 +2,7 @@
#include "Colors.h"
#include "BitmapView.h"
#include "Settings.h"
+#include <string.h>
#include <View.h>
#include <CheckBox.h>
#include <Button.h>
diff --git a/source/TabView.cpp b/source/TabView.cpp
index d3292e4..fb89ca5 100644
--- a/source/TabView.cpp
+++ b/source/TabView.cpp
@@ -1,6 +1,7 @@
#include "TabView.h"
#include "Colors.h"
#include <stdio.h>
+#include <string.h>
#include <InterfaceDefs.h>
#define _HTABHEIGHT (TAB_HEIGHT/2)
@@ -175,4 +176,4 @@ void TabView::RaiseView (int n)
AddChild (views[n]);
current = n;
Invalidate();
-}
\ No newline at end of file
+}
diff --git a/source/Tablet.h b/source/Tablet.h
index 3aa7fb8..28e69ec 100644
--- a/source/Tablet.h
+++ b/source/Tablet.h
@@ -3,6 +3,7 @@
#include <device/SerialPort.h>
#include "Wacom.h"
+#include <string.h>
#include <Point.h>
#include <Rect.h>
@@ -46,4 +47,4 @@ float fMaxPressure;
int32 fTabletType;
};
-#endif
\ No newline at end of file
+#endif
diff --git a/source/ThumbnailFilePanel.cpp b/source/ThumbnailFilePanel.cpp
index cdecd43..9fb501f 100644
--- a/source/ThumbnailFilePanel.cpp
+++ b/source/ThumbnailFilePanel.cpp
@@ -3,6 +3,7 @@
#include "ThumbnailFilePanel.h"
#include "Colors.h"
#include <stdio.h>
+#include <string.h>
#include "BitmapStuff.h"
#include <Node.h>
#include <NodeInfo.h>
@@ -202,4 +203,4 @@ void ThumbnailView::update (BBitmap *map)
delete tmpView;
}
Invalidate();
-}
\ No newline at end of file
+}
diff --git a/source/VideoConsumer.h b/source/VideoConsumer.h
index 56772ff..9dfb518 100644
--- a/source/VideoConsumer.h
+++ b/source/VideoConsumer.h
@@ -23,13 +23,13 @@ public:
const char * name,
BView * view,
BMediaAddOn *addon,
- const uint32 internal_id);
+ const int32 internal_id);
~VideoConsumer();
/* BMediaNode */
public:
- virtual BMediaAddOn *AddOn(long *cookie) const;
+ virtual BMediaAddOn *AddOn(int32 *cookie) const;
protected:
@@ -109,7 +109,7 @@ public:
private:
- uint32 mInternalID;
+ int32 mInternalID;
BMediaAddOn *mAddOn;
bool mConnectionActive;
@@ -122,7 +122,7 @@ private:
BBitmap *mBitmap[3];
bool mOurBuffers;
BBufferGroup *mBuffers;
- uint32 mBufferMap[3];
+ BBuffer *mBufferMap[3];
bigtime_t mRate;
uint32 mImageFormat;
diff --git a/source/add-ons/AutoContrast/Jamfile b/source/add-ons/AutoContrast/Jamfile
index 0498302..ce2823a 100644
--- a/source/add-ons/AutoContrast/Jamfile
+++ b/source/add-ons/AutoContrast/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons AutoContrast ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on AutoContrast = -nostart -Xlinker -soname=AutoContrast ;
+LINKFLAGS on AutoContrast = -shared -Xlinker -soname=AutoContrast ;
Main AutoContrast :
AutoContrast.cpp
diff --git a/source/add-ons/Blur/Jamfile b/source/add-ons/Blur/Jamfile
index 7784c80..60ebfa9 100644
--- a/source/add-ons/Blur/Jamfile
+++ b/source/add-ons/Blur/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Blur ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Blur = -nostart -Xlinker -soname=Blur ;
+LINKFLAGS on Blur = -shared -Xlinker -soname=Blur ;
Main Blur :
Blur.cpp
diff --git a/source/add-ons/Brightness/Jamfile b/source/add-ons/Brightness/Jamfile
index 7c308a9..1885536 100644
--- a/source/add-ons/Brightness/Jamfile
+++ b/source/add-ons/Brightness/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Brightness ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Brightness = -nostart -Xlinker -soname=Brightness ;
+LINKFLAGS on Brightness = -shared -Xlinker -soname=Brightness ;
Main Brightness :
Brightness.cpp
diff --git a/source/add-ons/BumpMap/Jamfile b/source/add-ons/BumpMap/Jamfile
index c03ef3a..3590082 100644
--- a/source/add-ons/BumpMap/Jamfile
+++ b/source/add-ons/BumpMap/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons BumpMap ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on BumpMap = -nostart -Xlinker -soname=BumpMap ;
+LINKFLAGS on BumpMap = -shared -Xlinker -soname=BumpMap ;
Main BumpMap :
BumpMap.cpp
diff --git a/source/add-ons/CaptureTest/Jamfile b/source/add-ons/CaptureTest/Jamfile
index 8525ae0..73ad315 100644
--- a/source/add-ons/CaptureTest/Jamfile
+++ b/source/add-ons/CaptureTest/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons CaptureTest ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on CaptureTest = -nostart -Xlinker -soname=CaptureTest ;
+LINKFLAGS on CaptureTest = -shared -Xlinker -soname=CaptureTest ;
Main CaptureTest :
CaptureTest.cpp
diff --git a/source/add-ons/Chromakey/Jamfile b/source/add-ons/Chromakey/Jamfile
index 1355f28..e503192 100644
--- a/source/add-ons/Chromakey/Jamfile
+++ b/source/add-ons/Chromakey/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Chromakey ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Chromakey = -nostart -Xlinker -soname=Chromakey ;
+LINKFLAGS on Chromakey = -shared -Xlinker -soname=Chromakey ;
Main Chromakey :
Chromakey.cpp
diff --git a/source/add-ons/ColorCurves/Jamfile b/source/add-ons/ColorCurves/Jamfile
index 5aa8fab..52dc7ed 100644
--- a/source/add-ons/ColorCurves/Jamfile
+++ b/source/add-ons/ColorCurves/Jamfile
@@ -2,13 +2,19 @@ SubDir TOP source add-ons ColorCurves ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on ColorCurves = -nostart -Xlinker -soname=ColorCurves ;
+LINKFLAGS on ColorCurves = -shared -Xlinker -soname=ColorCurves ;
AS = nasm -f elf32 ;
+local have64bits = [ GLOB /system : kernel_x86_64 ] ;
+x86_sources = Colorcurves_x86.asm ;
+if $(have64bits) {
+ x86_sources = ;
+}
+
Main ColorCurves :
ColorCurves.cpp
- Colorcurves_x86.asm
+ $(x86_sources)
;
InstallBin target/add-ons : ColorCurves ;
diff --git a/source/add-ons/Diffuse/Jamfile b/source/add-ons/Diffuse/Jamfile
index 8e179c2..8c79f53 100644
--- a/source/add-ons/Diffuse/Jamfile
+++ b/source/add-ons/Diffuse/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Diffuse ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Diffuse = -nostart -Xlinker -soname=Diffuse ;
+LINKFLAGS on Diffuse = -shared -Xlinker -soname=Diffuse ;
Main Diffuse :
Diffuse.cpp
diff --git a/source/add-ons/Gaussian/Jamfile b/source/add-ons/Gaussian/Jamfile
index b4b85c4..4ce3163 100644
--- a/source/add-ons/Gaussian/Jamfile
+++ b/source/add-ons/Gaussian/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Gaussian ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Gaussian = -nostart -Xlinker -soname=Gaussian ;
+LINKFLAGS on Gaussian = -shared -Xlinker -soname=Gaussian ;
Main Gaussian :
Gaussian.cpp
diff --git a/source/add-ons/Gradient/Jamfile b/source/add-ons/Gradient/Jamfile
index ac9a7c1..94107c1 100644
--- a/source/add-ons/Gradient/Jamfile
+++ b/source/add-ons/Gradient/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Gradient ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Gradient = -nostart -Xlinker -soname=Gradient ;
+LINKFLAGS on Gradient = -shared -Xlinker -soname=Gradient ;
Main Gradient :
Gradient.cpp
diff --git a/source/add-ons/ImageElements/Jamfile b/source/add-ons/ImageElements/Jamfile
index 492f094..db8fda9 100644
--- a/source/add-ons/ImageElements/Jamfile
+++ b/source/add-ons/ImageElements/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons ImageElements ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on ImageElements = -nostart -Xlinker -soname=ImageElements ;
+LINKFLAGS on ImageElements = -shared -Xlinker -soname=ImageElements ;
Main ImageElements :
ImageElements.cpp
diff --git a/source/add-ons/Jim/Jamfile b/source/add-ons/Jim/Jamfile
index 21dbda3..e6d5660 100644
--- a/source/add-ons/Jim/Jamfile
+++ b/source/add-ons/Jim/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Jim ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Jim = -nostart -Xlinker -soname=Jim ;
+LINKFLAGS on Jim = -shared -Xlinker -soname=Jim ;
Main Jim :
Jim.cpp
diff --git a/source/add-ons/Mandelbrot/Jamfile b/source/add-ons/Mandelbrot/Jamfile
index 54160f9..3c71dc2 100644
--- a/source/add-ons/Mandelbrot/Jamfile
+++ b/source/add-ons/Mandelbrot/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Mandelbrot ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Mandelbrot = -nostart -Xlinker -soname=Mandelbrot ;
+LINKFLAGS on Mandelbrot = -shared -Xlinker -soname=Mandelbrot ;
Main Mandelbrot :
mandelbrot.cpp
diff --git a/source/add-ons/MotionBlur/Jamfile b/source/add-ons/MotionBlur/Jamfile
index 8c8d0c5..3a4d2a0 100644
--- a/source/add-ons/MotionBlur/Jamfile
+++ b/source/add-ons/MotionBlur/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons MotionBlur ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on MotionBlur = -nostart -Xlinker -soname=MotionBlur ;
+LINKFLAGS on MotionBlur = -shared -Xlinker -soname=MotionBlur ;
Main MotionBlur :
MotionBlur.cpp
diff --git a/source/add-ons/MultiGradient/Jamfile b/source/add-ons/MultiGradient/Jamfile
index 393431b..837683e 100644
--- a/source/add-ons/MultiGradient/Jamfile
+++ b/source/add-ons/MultiGradient/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons MultiGradient ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on MultiGradient = -nostart -Xlinker -soname=MultiGradient ;
+LINKFLAGS on MultiGradient = -shared -Xlinker -soname=MultiGradient ;
Main MultiGradient :
MultiGradient.cpp
diff --git a/source/add-ons/Negate/Jamfile b/source/add-ons/Negate/Jamfile
index 8ae0cb7..b84e8d3 100644
--- a/source/add-ons/Negate/Jamfile
+++ b/source/add-ons/Negate/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Negate ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Negate = -nostart -Xlinker -soname=Negate ;
+LINKFLAGS on Negate = -shared -Xlinker -soname=Negate ;
Main Negate :
Negate.cpp
diff --git a/source/add-ons/Noise/Jamfile b/source/add-ons/Noise/Jamfile
index 74d66d8..169a85b 100644
--- a/source/add-ons/Noise/Jamfile
+++ b/source/add-ons/Noise/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Noise ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Noise = -nostart -Xlinker -soname=Noise ;
+LINKFLAGS on Noise = -shared -Xlinker -soname=Noise ;
Main Noise :
Noise.cpp
diff --git a/source/add-ons/OilPaint/Jamfile b/source/add-ons/OilPaint/Jamfile
index 463b025..251e139 100644
--- a/source/add-ons/OilPaint/Jamfile
+++ b/source/add-ons/OilPaint/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons OilPaint ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on OilPaint = -nostart -Xlinker -soname=OilPaint ;
+LINKFLAGS on OilPaint = -shared -Xlinker -soname=OilPaint ;
Main OilPaint :
OilPaint.cpp
diff --git a/source/add-ons/Palmcam/Jamfile b/source/add-ons/Palmcam/Jamfile
index 699ac80..7f6a639 100644
--- a/source/add-ons/Palmcam/Jamfile
+++ b/source/add-ons/Palmcam/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Palmcam ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Palmcam = -nostart -Xlinker -soname=Palmcam ;
+LINKFLAGS on Palmcam = -shared -Xlinker -soname=Palmcam ;
Main Palmcam :
Palmcam.cpp
diff --git a/source/add-ons/Quantize/Jamfile b/source/add-ons/Quantize/Jamfile
index b01f888..896bc16 100644
--- a/source/add-ons/Quantize/Jamfile
+++ b/source/add-ons/Quantize/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Quantize ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Quantize = -nostart -Xlinker -soname=Quantize ;
+LINKFLAGS on Quantize = -shared -Xlinker -soname=Quantize ;
Main Quantize :
Quantize.cpp
diff --git a/source/add-ons/Ripple/Jamfile b/source/add-ons/Ripple/Jamfile
index 4759470..f135490 100644
--- a/source/add-ons/Ripple/Jamfile
+++ b/source/add-ons/Ripple/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Ripple ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Ripple = -nostart -Xlinker -soname=Ripple ;
+LINKFLAGS on Ripple = -shared -Xlinker -soname=Ripple ;
Main Ripple :
Ripple.cpp
diff --git a/source/add-ons/Scale/Jamfile b/source/add-ons/Scale/Jamfile
index 7b86ba3..6abf1e5 100644
--- a/source/add-ons/Scale/Jamfile
+++ b/source/add-ons/Scale/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Scale ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Scale = -nostart -Xlinker -soname=Scale ;
+LINKFLAGS on Scale = -shared -Xlinker -soname=Scale ;
Main Scale :
Scale.cpp
diff --git a/source/add-ons/Sepia/Jamfile b/source/add-ons/Sepia/Jamfile
index 83b18a9..dbc9d8b 100644
--- a/source/add-ons/Sepia/Jamfile
+++ b/source/add-ons/Sepia/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Sepia ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Sepia = -nostart -Xlinker -soname=Sepia ;
+LINKFLAGS on Sepia = -shared -Xlinker -soname=Sepia ;
Main Sepia :
Sepia.cpp
diff --git a/source/add-ons/Solarize/Jamfile b/source/add-ons/Solarize/Jamfile
index c108fdd..077a909 100644
--- a/source/add-ons/Solarize/Jamfile
+++ b/source/add-ons/Solarize/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Solarize ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Solarize = -nostart -Xlinker -soname=Solarize ;
+LINKFLAGS on Solarize = -shared -Xlinker -soname=Solarize ;
Main Solarize :
Solarize.cpp
diff --git a/source/add-ons/Tile/Jamfile b/source/add-ons/Tile/Jamfile
index 4252e7d..359e8e5 100644
--- a/source/add-ons/Tile/Jamfile
+++ b/source/add-ons/Tile/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Tile ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Tile = -nostart -Xlinker -soname=Tile ;
+LINKFLAGS on Tile = -shared -Xlinker -soname=Tile ;
Main Tile :
Tile.cpp
diff --git a/source/add-ons/Translate/Jamfile b/source/add-ons/Translate/Jamfile
index a441991..227dcaa 100644
--- a/source/add-ons/Translate/Jamfile
+++ b/source/add-ons/Translate/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Translate ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Translate = -nostart -Xlinker -soname=Translate ;
+LINKFLAGS on Translate = -shared -Xlinker -soname=Translate ;
Main Translate :
Translate.cpp
diff --git a/source/add-ons/VideoGrabber/Jamfile b/source/add-ons/VideoGrabber/Jamfile
index f769d50..a3539cc 100644
--- a/source/add-ons/VideoGrabber/Jamfile
+++ b/source/add-ons/VideoGrabber/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons VideoGrabber ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on VideoGrabber = -nostart -Xlinker -soname=VideoGrabber ;
+LINKFLAGS on VideoGrabber = -shared -Xlinker -soname=VideoGrabber ;
Main VideoGrabber :
VideoGrabber.cpp
diff --git a/source/add-ons/VideoGrabber/VideoConsumer.cpp b/source/add-ons/VideoGrabber/VideoConsumer.cpp
index b1458f9..5a27a23 100644
--- a/source/add-ons/VideoGrabber/VideoConsumer.cpp
+++ b/source/add-ons/VideoGrabber/VideoConsumer.cpp
@@ -36,7 +36,7 @@ VideoConsumer::VideoConsumer(
const char * name,
BView *view,
BMediaAddOn *addon,
- const uint32 internal_id) :
+ const int32 internal_id) :
BMediaNode(name),
BMediaEventLooper(),
@@ -61,7 +61,7 @@ VideoConsumer::VideoConsumer(
for (uint32 j = 0; j < 3; j++)
{
mBitmap[j] = NULL;
- mBufferMap[j] = 0;
+ mBufferMap[j] = NULL;
}
SetPriority(B_DISPLAY_PRIORITY);
@@ -94,7 +94,7 @@ VideoConsumer::~VideoConsumer()
//---------------------------------------------------------------
BMediaAddOn *
-VideoConsumer::AddOn(long *cookie) const
+VideoConsumer::AddOn(int32 *cookie) const
{
// do the right thing if we're ever used with an add-on
*cookie = mInternalID;
@@ -260,7 +260,7 @@ VideoConsumer::CreateBuffers(
for (int j = 0; j < 3; j++)
if (buffList[j] != NULL)
{
- mBufferMap[j] = (uint32) buffList[j];
+ mBufferMap[j] = buffList[j];
// PROGRESS(" j = %d buffer = %08lx\n", j, mBufferMap[j]);
}
else
@@ -493,7 +493,7 @@ VideoConsumer::HandleEvent(
uint32 index = 0;
mOurBuffers = true;
while(index < 3)
- if ((uint32)buffer == mBufferMap[index])
+ if (buffer == mBufferMap[index])
break;
else
index++;
diff --git a/source/add-ons/Wave/Jamfile b/source/add-ons/Wave/Jamfile
index 3e1777c..5c21617 100644
--- a/source/add-ons/Wave/Jamfile
+++ b/source/add-ons/Wave/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons Wave ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on Wave = -nostart -Xlinker -soname=Wave ;
+LINKFLAGS on Wave = -shared -Xlinker -soname=Wave ;
Main Wave :
Wave.cpp
diff --git a/source/add-ons/WinGrab/Jamfile b/source/add-ons/WinGrab/Jamfile
index 729d9f5..c1f5f31 100644
--- a/source/add-ons/WinGrab/Jamfile
+++ b/source/add-ons/WinGrab/Jamfile
@@ -2,7 +2,7 @@ SubDir TOP source add-ons WinGrab ;
SubDirHdrs $(TOP) source ;
-LINKFLAGS on WinGrab = -nostart -Xlinker -soname=WinGrab ;
+LINKFLAGS on WinGrab = -shared -Xlinker -soname=WinGrab ;
Main WinGrab :
WinGrab.cpp
diff --git a/source/mmx.c b/source/mmx.c
index 8319af2..94a6b84 100644
--- a/source/mmx.c
+++ b/source/mmx.c
@@ -42,6 +42,12 @@ void mmx_alpha_blend_nodiff_ga (uint64 ga_64, uint32 *s, uint32 *d, int size);
void mmx_alpha_blend_diff (uint32 *s, uint32 *d, int height, int difference, int width);
void mmx_alpha_blend_nodiff (uint32 *s, uint32 *d, int size);
#endif
+#if defined (__GNUC__) && defined (__x86_64__)
+void mmx_alpha_blend_diff_ga (uint64 ga_64, uint32 *s, uint32 *d, int height, int difference, int width) {};
+void mmx_alpha_blend_nodiff_ga (uint64 ga_64, uint32 *s, uint32 *d, int size) {};
+void mmx_alpha_blend_diff (uint32 *s, uint32 *d, int height, int difference, int width) {};
+void mmx_alpha_blend_nodiff (uint32 *s, uint32 *d, int size) {};
+#endif
void mmx_alpha_blend (bgra_pixel *src, bgra_pixel *dest, int ga, int w, int l, int t, int r, int b)
// src and dest point to 32 bit pixel bitmaps, of equal width (w).
diff --git a/source/mmx.h b/source/mmx.h
index 84fd9a3..fc6dd01 100644
--- a/source/mmx.h
+++ b/source/mmx.h
@@ -1,4 +1,5 @@
-typedef unsigned long bgra_pixel;
+#include <stdint.h>
+typedef uint32_t bgra_pixel;
#if defined (__cplusplus)
extern "C"
--
2.10.2