mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-27 03:48:33 +00:00
Add a suffix rule for compiling objc++ files and a sample directory under test/lang/objcxx.
llvm-svn: 155501
This commit is contained in:
parent
c24c66f21c
commit
8da4ddf990
6
lldb/test/lang/objcxx/sample/Makefile
Normal file
6
lldb/test/lang/objcxx/sample/Makefile
Normal file
@ -0,0 +1,6 @@
|
||||
LEVEL = ../../../make
|
||||
|
||||
OBJCXX_SOURCES := main.mm
|
||||
LDFLAGS = $(CFLAGS) -lobjc -framework Foundation
|
||||
|
||||
include $(LEVEL)/Makefile.rules
|
71
lldb/test/lang/objcxx/sample/main.mm
Normal file
71
lldb/test/lang/objcxx/sample/main.mm
Normal file
@ -0,0 +1,71 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
#include <iostream>
|
||||
|
||||
@interface MyString : NSObject {
|
||||
NSString *_string;
|
||||
NSDate *_date;
|
||||
}
|
||||
- (id)initWithNSString:(NSString *)string;
|
||||
|
||||
@property (copy) NSString *string;
|
||||
@property (readonly,getter=getTheDate) NSDate *date;
|
||||
|
||||
- (NSDate *) getTheDate;
|
||||
@end
|
||||
|
||||
@implementation MyString
|
||||
|
||||
@synthesize string = _string;
|
||||
@synthesize date = _date;
|
||||
|
||||
- (id)initWithNSString:(NSString *)string
|
||||
{
|
||||
if (self = [super init])
|
||||
{
|
||||
_string = [NSString stringWithString:string];
|
||||
_date = [NSDate date];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) dealloc
|
||||
{
|
||||
[_date release];
|
||||
[_string release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (NSDate *) getTheDate
|
||||
{
|
||||
return _date;
|
||||
}
|
||||
|
||||
- (NSString *)description
|
||||
{
|
||||
return [_string stringByAppendingFormat:@" with timestamp: %@", _date];
|
||||
}
|
||||
@end
|
||||
|
||||
int main (int argc, char const *argv[])
|
||||
{
|
||||
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
|
||||
static NSString *g_global_nsstr = @"Howdy";
|
||||
|
||||
MyString *myStr = [[MyString alloc] initWithNSString: [NSString stringWithFormat:@"string %i", 1]];
|
||||
NSString *str1 = myStr.string;
|
||||
NSString *str2 = [NSString stringWithFormat:@"string %i", 2];
|
||||
NSString *str3 = [NSString stringWithFormat:@"string %i", 3];
|
||||
NSArray *array = [NSArray arrayWithObjects: str1, str2, str3, nil];
|
||||
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
|
||||
str1, @"1",
|
||||
str2, @"2",
|
||||
str3, @"3",
|
||||
myStr.date, @"date",
|
||||
nil];
|
||||
|
||||
id str_id = str1;
|
||||
SEL sel = @selector(length);
|
||||
[pool release];
|
||||
std::cout << "Hello, objc++!\n";
|
||||
return 0;
|
||||
}
|
@ -136,7 +136,7 @@ ifneq "$(strip $(OBJCXX_SOURCES))" ""
|
||||
OBJECTS +=$(strip $(OBJCXX_SOURCES:.mm=.o))
|
||||
CXX = $(call cxx_compiler,$(CC))
|
||||
LD = $(call cxx_linker,$(CC))
|
||||
ifeq $(findstring lobjc,$(LDFLAGS)) ""
|
||||
ifeq "$(findstring lobjc,$(LDFLAGS))" ""
|
||||
LDFLAGS +=-lobjc
|
||||
endif
|
||||
endif
|
||||
@ -172,7 +172,7 @@ ifneq "$(strip $(ARCHIVE_OBJCXX_SOURCES))" ""
|
||||
ARCHIVE_OBJECTS +=$(strip $(ARCHIVE_OBJCXX_SOURCES:.mm=.o))
|
||||
CXX = $(call cxx_compiler,$(CC))
|
||||
LD = $(call cxx_linker,$(CC))
|
||||
ifeq $(findstring lobjc,$(LDFLAGS)) ""
|
||||
ifeq "$(findstring lobjc,$(LDFLAGS))" ""
|
||||
LDFLAGS +=-lobjc
|
||||
endif
|
||||
endif
|
||||
@ -283,6 +283,11 @@ ifneq "$(DYLIB_NAME)" ""
|
||||
sinclude $(DYLIB_PREREQS)
|
||||
endif
|
||||
|
||||
# Define a suffix rule for .mm -> .o
|
||||
.SUFFIXES: .mm .o
|
||||
.mm.o:
|
||||
$(CXX) $(CXXFLAGS) -c $<
|
||||
|
||||
.PHONY: clean
|
||||
dsym: $(DSYM)
|
||||
all: $(EXE) $(DSYM)
|
||||
|
Loading…
x
Reference in New Issue
Block a user