* #27232: jni: added pjproject checkout as regular git content

We will remove it once the next release of pjsip (with Android support)
comes out and is merged into SFLphone.
diff --git a/jni/pjproject-android/pkgconfig.py b/jni/pjproject-android/pkgconfig.py
new file mode 100644
index 0000000..ee06884
--- /dev/null
+++ b/jni/pjproject-android/pkgconfig.py
@@ -0,0 +1,173 @@
+import sys
+import os
+
+REMOVE_THESE = ["-I/usr/include", "-I/usr/include/", "-L/usr/lib", "-L/usr/lib/"]
+
+class Pkg:
+	def __init__(self, pkg_name):
+		self.name = pkg_name
+		self.priority = 0
+		self.vars = {}
+
+	def parse(self, pkg_config_path):
+		f = None
+		for pkg_path in pkg_config_path.split(':'):
+			if pkg_path[-1] != '/':
+				pkg_path += '/'
+			fname = pkg_path + self.name + '.pc'
+			try:
+				f = open(fname, "r")
+				break
+			except:
+				continue
+		if not f:
+		  	#sys.stderr.write("pkgconfig.py: unable to find %s.pc in %s\n" % (self.name, pkg_config_path))
+			return False
+
+		for line in f.readlines():
+			line = line.strip()
+			if not line:
+				continue
+			if line[0]=='#':
+				continue
+			pos1 = line.find('=')
+			pos2 = line.find(':')
+			if pos1 > 0 and (pos1 < pos2 or pos2 < 0):
+				pos = pos1
+			elif pos2 > 0 and (pos2 < pos1 or pos1 < 0):
+				pos = pos2
+			else:
+				continue
+			name = line[:pos].lower()
+			value = line[pos+1:]
+			self.vars[name] = value
+		f.close()
+
+		for name in self.vars.keys():
+			value = self.vars[name]
+			while True:
+				pos1 = value.find("${")
+				if pos1 < 0:
+					break
+				pos2 = value.find("}")
+				if pos2 < 0:
+					break
+				value = value.replace(value[pos1:pos2+1], self.vars[value[pos1+2:pos2]])
+			self.vars[name] = value
+		return True
+
+	def requires(self):
+		if not 'requires' in self.vars:
+			return []
+		deps = []
+		req_list = self.vars['requires']
+		for req_item in req_list.split(','):
+			req_item = req_item.strip()
+			for i in range(len(req_item)):
+				if "=<>".find(req_item[i]) >= 0:
+					deps.append(req_item[:i].strip())
+					break
+		return deps
+
+	def libs(self):
+		if not 'libs' in self.vars:
+			return []
+		return self.vars['libs'].split(' ')
+
+	def cflags(self):
+		if not 'cflags' in self.vars:
+			return []
+		return self.vars['cflags'].split(' ')
+
+
+def calculate_pkg_priority(pkg, pkg_dict, loop_cnt):
+	if loop_cnt > 10:
+		sys.stderr.write("Circular dependency with pkg %s\n" % (pkg))
+		return 0
+	reqs = pkg.requires()
+	prio = 1
+	for req in reqs:
+		if not req in pkg_dict:
+			continue
+		req_pkg = pkg_dict[req]
+		prio += calculate_pkg_priority(req_pkg, pkg_dict, loop_cnt+1)
+	return prio
+
+if __name__ == "__main__":
+	pkg_names = []
+	pkg_dict = {}
+	commands = []
+	exist_check = False
+
+	for i in range(1,len(sys.argv)):
+		if sys.argv[i][0] == '-':
+			cmd = sys.argv[i]
+			commands.append(cmd)
+			if cmd=='--exists':
+				exist_check = True
+			elif cmd=="--help":
+				print "This is not very helpful, is it"
+				sys.exit(0)
+			elif cmd=="--version":
+				print "0.1"
+				sys.exit(0)
+		else:
+			pkg_names.append(sys.argv[i])
+			
+	# Fix search path
+	PKG_CONFIG_PATH = os.getenv("PKG_CONFIG_PATH", "").strip()
+	if not PKG_CONFIG_PATH:
+		PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/lib/pkgconfig"
+	PKG_CONFIG_PATH = PKG_CONFIG_PATH.replace(";", ":")
+
+	# Parse files
+	for pkg_name in pkg_names:
+		pkg = Pkg(pkg_name)
+		if not pkg.parse(PKG_CONFIG_PATH):
+			sys.exit(1)
+		pkg_dict[pkg_name] = pkg
+
+	if exist_check:
+		sys.exit(0)
+
+	# Calculate priority based on dependency
+	for pkg_name in pkg_dict.keys():
+		pkg = pkg_dict[pkg_name]
+		pkg.priority = calculate_pkg_priority(pkg, pkg_dict, 1)
+	
+	# Sort package based on dependency
+	pkg_names = sorted(pkg_names, key=lambda pkg_name: pkg_dict[pkg_name].priority, reverse=True)
+
+	# Get the options
+	opts = []
+	for cmd in commands:
+		if cmd=='--libs':
+			for pkg_name in pkg_names:
+				libs = pkg_dict[pkg_name].libs()
+				for lib in libs:
+					opts.append(lib)
+					if lib[:2]=="-l":
+						break
+			for pkg_name in pkg_names:
+				opts += pkg_dict[pkg_name].libs()
+		elif cmd=='--cflags':
+			for pkg_name in pkg_names:
+				opts += pkg_dict[pkg_name].cflags()
+		elif cmd[0]=='-':
+			sys.stderr.write("pkgconfig.py: I don't know how to handle " + sys.argv[i] + "\n")
+	
+	filtered_opts = []
+	for opt in opts:
+		opt = opt.strip()
+		if not opt:
+			continue
+		if REMOVE_THESE.count(opt) != 0:
+			continue
+		if opt != '-framework' and opt != '--framework' and filtered_opts.count(opt) != 0:
+			if len(filtered_opts) and (filtered_opts[-1] == '-framework' or filtered_opts[-1] == '--framework'):
+				filtered_opts.pop()
+			continue
+		filtered_opts.append(opt)
+
+	print ' '.join(filtered_opts)
+