mirror of
				https://gitlab.freedesktop.org/wlroots/wlroots.git
				synced 2025-11-03 09:01:40 -05:00 
			
		
		
		
	Merge pull request #247 from ascent12/dash-fix
Fix glgen to be more POSIX corformant
This commit is contained in:
		
						commit
						edafc021bc
					
				
					 1 changed files with 24 additions and 13 deletions
				
			
		
							
								
								
									
										37
									
								
								glgen.sh
									
										
									
									
									
								
							
							
						
						
									
										37
									
								
								glgen.sh
									
										
									
									
									
								
							| 
						 | 
					@ -30,28 +30,36 @@ CHECK_FMT='if (!%s) {
 | 
				
			||||||
}'
 | 
					}'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
while read -r COMMAND; do
 | 
					while read -r COMMAND; do
 | 
				
			||||||
	[ ${COMMAND::1} = "-" ]
 | 
						OPTIONAL=0
 | 
				
			||||||
	OPTIONAL=$?
 | 
						FUNC_PTR_FMT='PFN%sPROC'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						case $COMMAND in
 | 
				
			||||||
 | 
						-*)
 | 
				
			||||||
 | 
							OPTIONAL=1
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
						esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						case $COMMAND in
 | 
				
			||||||
 | 
						*WL)
 | 
				
			||||||
 | 
							FUNC_PTR_FMT='PFN%s'
 | 
				
			||||||
 | 
							;;
 | 
				
			||||||
 | 
						esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	COMMAND=${COMMAND#-}
 | 
						COMMAND=${COMMAND#-}
 | 
				
			||||||
	if [ ${COMMAND: -2} = "WL" ]; then
 | 
					 | 
				
			||||||
		FUNC_PTR_FMT='PFN%s'
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
		FUNC_PTR_FMT='PFN%sPROC'
 | 
					 | 
				
			||||||
	fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	FUNC_PTR=$(printf "$FUNC_PTR_FMT" "$COMMAND" | tr [:lower:] [:upper:])
 | 
						FUNC_PTR=$(printf "$FUNC_PTR_FMT" "$COMMAND" | tr [:lower:] [:upper:])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	DECL="$DECL$(printf "\n$DECL_FMT" "$FUNC_PTR" "$COMMAND")"
 | 
						DECL="$DECL$(printf "\n$DECL_FMT" "$FUNC_PTR" "$COMMAND")"
 | 
				
			||||||
	DEFN="$DEFN$(printf "\n$DEFN_FMT" "$FUNC_PTR" "$COMMAND")"
 | 
						DEFN="$DEFN$(printf "\n$DEFN_FMT" "$FUNC_PTR" "$COMMAND")"
 | 
				
			||||||
	LOADER="$LOADER$(printf "\n$LOADER_FMT" "$COMMAND" "$FUNC_PTR" "$COMMAND")"
 | 
						LOADER="$LOADER$(printf "\n$LOADER_FMT" "$COMMAND" "$FUNC_PTR" "$COMMAND")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if [ $OPTIONAL -ne 0 ]; then
 | 
						if [ $OPTIONAL -eq 0 ]; then
 | 
				
			||||||
		LOADER="$LOADER$(printf "\n$CHECK_FMT" "$COMMAND" "$COMMAND")"
 | 
							LOADER="$LOADER$(printf "\n$CHECK_FMT" "$COMMAND" "$COMMAND")"
 | 
				
			||||||
	fi
 | 
						fi
 | 
				
			||||||
done < $SPEC
 | 
					done < $SPEC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ ${OUT: -2} = '.h' ]; then
 | 
					
 | 
				
			||||||
 | 
					case $OUT in
 | 
				
			||||||
 | 
					*.h)
 | 
				
			||||||
	cat > $OUT << EOF
 | 
						cat > $OUT << EOF
 | 
				
			||||||
	#ifndef $INCLUDE_GUARD
 | 
						#ifndef $INCLUDE_GUARD
 | 
				
			||||||
	#define $INCLUDE_GUARD
 | 
						#define $INCLUDE_GUARD
 | 
				
			||||||
| 
						 | 
					@ -69,7 +77,8 @@ if [ ${OUT: -2} = '.h' ]; then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	#endif
 | 
						#endif
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
elif [ ${OUT: -2} = '.c' ]; then
 | 
						;;
 | 
				
			||||||
 | 
					*.c)
 | 
				
			||||||
	cat > $OUT << EOF
 | 
						cat > $OUT << EOF
 | 
				
			||||||
	#include <wlr/util/log.h>
 | 
						#include <wlr/util/log.h>
 | 
				
			||||||
	#include "$BASE.h"
 | 
						#include "$BASE.h"
 | 
				
			||||||
| 
						 | 
					@ -86,6 +95,8 @@ elif [ ${OUT: -2} = '.c' ]; then
 | 
				
			||||||
		return true;
 | 
							return true;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
else
 | 
						;;
 | 
				
			||||||
 | 
					*)
 | 
				
			||||||
	exit 1
 | 
						exit 1
 | 
				
			||||||
fi
 | 
						;;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue